返回
Featured image of post Nginx Docker封裝

Nginx Docker封裝

將你的Http頁面封裝成Image映像檔

當你的應用服務已經寫一個段落需要打包至各公司的測試環境以及線上環境,不免俗的是基本的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

comments powered by Disqus