1:獲取Niginx
docker pull nginx
2: 在data下面創建分別創建以下四個目錄
mkdir -p /mydata/nignx/conf 掛載容器裏面的配置,即nginx.conf
mkdir -p /mydata/nignx/conf.d 掛載容器裏面的子配置,即nginx.conf裏面include的配置文件
mkdir -p /mydata/nignx/logs 掛載容器裏面的代理的日誌文件
mkdir -p /mydata/nignx/html 掛載容器裏面的界面的訪問
3: 啓動nginx(先不掛載nginx.con配置文件)
docker run --name nginx -d -p 80:80 --name nginx1.0 --net host \
-v /mydata/nignx/logs:/var/log/nginx nginx
4: 然後使用如下命令進入交互式終端:
docker exec -it nginx1.0 /bin/bash
然後使用如下命令找到nginx.conf 配置文件
cd /etc/nginx/
ls
可以看到nginx.conf相關文件
5:最後使用exit命令退出交互式終端,使用如下命令進行配置文件的拷貝,將其粘貼到/mydata/nignx/conf目錄下
docker cp nginx1.0:/etc/nginx/nginx.conf /mydata/nignx/conf/ #使用id或names【mynginx】
docker cp nginx1.0:/etc/nginx/conf.d/default.conf /mydata/nignx/conf.d/
6:刪除容器
docker stop nginx1.0
docker rm nginx1.0
7: 使用掛載目錄去啓動命令
docker run --name nginx -d -p 80:80 --net host \
-v /mydata/nignx/html:/usr/share/nginx/html \
-v /mydata/nignx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /mydata/nignx/conf.d:/etc/nginx/conf.d \
-v /mydata/nignx/logs:/var/log/nginx nginx
命令解讀:
run:啓動一個docker容器
name:容器的名稱
d: 後臺啓動
p: 綁定別的端口 -p a:b 將宿主機器的a端口綁定到容器的b端口 -P 爲隨機綁定到端口
net :綁定的網絡 這裏配置成host(因爲對於容器內部來說也有一個ip如果不配置的話默認用容器的ip,導致訪問不到)
v : 掛載的內容 宿主機器的文件夾:容器的文件夾
8:隨便寫一個html頁面放到/mydata/nignx/html下,否則會報403
9:最後訪問ip地址即可
10:開機自啓
docker update nginx --restart=always