當你的應用服務已經寫一個段落需要打包至各公司的測試環境以及線上環境,不免俗的是基本的Git版本控制,管理專案,更重要的是要將服務呈現給網路上的每個人看見服務,更何況環境又不只一台,每個人測試的環境更要統一,為了讓應用服務安全,快速封裝,將 Nginx
封裝成 Docker
Image 執行成 container。
手把手教學
Project
|- nginx/
|- default.conf
|- Dockerfile
|- index.html
default.conf
server{
listen 80;
server_name localhost;
location / {
# 實際的檔案位置
root /usr/share/nginx/html;
# 預設首頁檔名
index index.html index.htm;
}
# 網頁發生錯誤轉導頁面 處理
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
Dockerfile
FROM nginx:alpine
COPY /index.html /usr/share/nginx/html
COPY /nginx/default.conf /etc/nginx/conf.d/default.conf
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Learn Nginx + Docker</title>
</head>
<body>
Hifounder Learn Nginx + Docker
</body>
</html>
執行 docker
# 封裝
docker build -t learn-nginx-docker .
# 查詢 (查看Image 每個人畫面都不同)
docker images learn-nginx-docker
REPOSITORY TAG IMAGE ID CREATED SIZE
learn-nginx-docker latest 5d39e24e2bf3 5 seconds ago 19.9MB
# 執行
docker run -it -p=80:80 -d learn-nginx-docker
這樣訪問 http://localhost:80/ 這樣就可以訪問到簡單封裝的 docker