[Docker] Docker之安裝Nginx

2023-05-30 15:00:42

0 序言

1 安裝步驟

Step1 下載映象

  • 搜素、下載映象

https://hub.docker.com/_/nginx?tab=tags
這裡選擇官方映象1.22.0版本

docker search nginx
docker pull nginx:1.22.0

  • 檢視下載的映象
docker images

Step2 在宿主機建立掛載目錄

用於存放預設頁面、紀錄檔、組態檔,把這些檔案掛載到宿主機上好處是:

在需要頻繁修改Nginx設定的場景中,不需要關注容器中的資料,直接刪除重建容器就好。
如果已經提前把對應nginx版本需要掛載的檔案打包好了,這裡直接解壓放在對應的路徑即可,不需要執行下面從容器複製檔案的步驟。

cd /opt
tar -zxvf /opt/docker-nginx.tar.gz

沒有這些檔案的話,就建立目錄,從容器中複製過來。

  • 建立目錄
mkdir -p /opt/docker-nginx

Step3 從容器中複製要掛載的檔案

先簡單建立容器執行,從容器裡面複製要掛載的檔案到宿主機上。

  • 建立並執行容器,容器命名為nginx
docker run --name nginx -p 80:80 -d nginx:1.22.0
  • 從容器nginx中複製nginx.conf檔案到宿主機
docker cp nginx:/etc/nginx/nginx.conf /opt/docker-nginx/
ls -la /opt/docker-nginx/

docker cp nginx:/etc/nginx/conf.d/ /opt/docker-nginx/conf/

docker cp nginx:/usr/share/nginx/html/ /opt/docker-nginx/html/

docker cp nginx:/var/log/nginx/ /opt/docker-nginx/logs/

複製出的docker-nginx目錄結構如下圖:

  • 打包目錄

/opt目錄下生成檔案docker-nginx.tar.gz

cd /opt
tar -czvf docker-nginx.tar.gz /opt/docker-nginx/*
ls /opt
  • 停止、刪除容器
docker stop nginx

docker rm nginx

Step4 建立並執行容器

docker run -p 80:80 \
-v /opt/docker-nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /opt/docker-nginx/logs:/var/log/nginx \
-v /opt/docker-nginx/html:/usr/share/nginx/html \
-v /opt/docker-nginx/conf:/etc/nginx/conf.d \
-v /etc/localtime:/etc/localtime \
--name nginx \
--restart=always \
-d nginx:1.22.0

引數說明:

  • -p 對映埠,格式為「宿主機埠:容器埠」
  • -v 掛載檔案
docker run -it -v /test:/soft centos /bin/bash

冒號":"前面的目錄是宿主機目錄,後面的目錄是容器內目錄
    容器目錄不可以為相對路徑
    宿主機目錄如果不存在,則會自動生成
  • -e TZ=Asia/Shanghai 設定時區
  • --privileged=true 讓容器中的root使用者擁有真正的root許可權
  • --name 容器名字,以後可以使用這個名字啟動或者停止容器
  • --restart=always docker啟動時自動啟動容器
  • -d 指定要啟動的映象名

如下圖,執行後返回容器id沒有報Error,檢視容器列表,nginx容器狀態正常,則安裝成功。

docker ps -a

Step5 瀏覽器存取

瀏覽器存取http://ip:80,可以看到nginx頁面

如果安裝失敗,檢視容器列表是否已有nginx容器,有的話需要刪除容器後再重新建立。

X 參考文獻