目錄
- 一.創(chuàng)建容器
- 二.修改配置文件
- 1. 進(jìn)入容器內(nèi)部修改配置文件
- 2.容器加載外部配置文件
- 總結(jié)
一.創(chuàng)建容器
# 搜索Nginx鏡像 docker search nginx # 拉取Nginx鏡像 docker pull nginx # 查看鏡像名為nginx的鏡像 docker images nginx # 運(yùn)行鏡像,生成容器 # 命令解讀: # -d:以后臺(tái)守護(hù)線程運(yùn)行 # --name:容器命名 # -p 80:80 : 映射端口,容器內(nèi)部80端口映射到服務(wù)器80端口 # nginx :指定的鏡像(可以通過docker images 查看) docker run -d --name nginx -p 80:80 nginx(鏡像ID或者鏡像名字都可以) # 查看容器 docker ps
二.修改配置文件
1. 進(jìn)入容器內(nèi)部修改配置文件
# 進(jìn)入容器內(nèi)部 docker exex -it nginx /bin/bash # 直接修改配置 vim /etc/nginx/nginx.conf
肯定有些童鞋想問,那么上面的配置文件路徑是如何得知的?
通過文件查找命令查(按照名稱模糊全局查找文件)
find / -name 'nginx.conf'
因?yàn)槿萜髋c外界是完全隔離的,使用vim命令請(qǐng)先安裝vim
apt-get update apt-get install -y vim
修改完配置,重新加載Nginx
docker exec -it nginx nginx -s reload
2.容器加載外部配置文件
在外部創(chuàng)建文件夾(用于存放Nginx配置文件)
mkdir -p /home/usr/local/docker-config/nginx/conf mkdir -p /home/usr/local/docker-config/nginx/conf.d mkdir -p /home/usr/local/docker-config/nginx/html mkdir -p /home/usr/local/docker-config/nginx/logs
將容器的配置文件 復(fù)制到 創(chuàng)建好的文件夾中(第1步)
docker cp nginx:/etc/nginx/nginx.conf /home/usr/local/docker-config/nginx/ docker cp nginx:/etc/nginx/conf.d /home/usr/local/docker-config/nginx/conf/ docker cp nginx:/usr/share/nginx/html/ /home/usr/local/docker-config/nginx/html/ docker cp nginx:/var/log/nginx/ /home/usr/local/docker-config/nginx/logs/
修改配置文件
vim /home/usr/local/docker-config/nginx/conf/nginx.conf
刪除容器、鏡像
docker psdocker rm -vf nginxdocker imagesdocker rmi nginx
運(yùn)行容器(容器使用外部配置文件)
docker run -d --name nginx -p 80:80 -v /home/usr/local/docker-config/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/usr/local/docker-config/nginx/logs:/var/log/nginx -v /home/usr/local/docker-config/nginx/html:/usr/share/nginx/html -v /home/usr/local/docker-config/nginx/conf:/etc/nginx/conf.d -e TZ=Asia/Shanghai --privileged=true nginx
備注:
以上修改配置文件都是基于nginx.conf,也可以修改conf.d/default.conf
關(guān)于這兩者的關(guān)系,在這里也解釋下:
兩者都是nginx的配置文件,nginx.conf為主配置。
nginx.conf 文件的最后一行為include /etc/nginx/conf.d/*.conf,所以default.conf里的配置也會(huì)起作用。