略
https://hub.docker.com/_/nginx?tab=tags
這裡選擇官方映象1.22.0版本
docker search nginx
docker pull nginx:1.22.0
docker images
用於存放預設頁面、紀錄檔、組態檔,把這些檔案掛載到宿主機上好處是:
在需要頻繁修改Nginx設定的場景中,不需要關注容器中的資料,直接刪除重建容器就好。
如果已經提前把對應nginx版本需要掛載的檔案打包好了,這裡直接解壓放在對應的路徑即可,不需要執行下面從容器複製檔案的步驟。
cd /opt
tar -zxvf /opt/docker-nginx.tar.gz
沒有這些檔案的話,就建立目錄,從容器中複製過來。
mkdir -p /opt/docker-nginx
先簡單建立容器執行,從容器裡面複製要掛載的檔案到宿主機上。
docker run --name nginx -p 80:80 -d nginx:1.22.0
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
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
瀏覽器存取
http://ip:80
,可以看到nginx
頁面
如果安裝失敗,檢視容器列表是否已有nginx容器,有的話需要刪除容器後再重新建立。