docker挂载文件时会覆盖掉容器里面的目录,因此需准备一份默认的配置文件
准备配置文件
- 临时启动nginx容器,拷出默认配置文件
# 启动nginx
docker run -d --name tmp-nginx nginx:latest
# 拷出默认配置文件
mkdir -p /root/nginx/{config,data,logs}
docker cp tmp-nginx:/etc/nginx /root/nginx/config/
docker cp tmp-nginx:/usr/share/nginx/html /root/nginx/data/
docker cp tmp-nginx:/var/log/nginx /root/nginx/logs/
- 删除临时容器
docker rm -f tmp-nginx
docker方式启动
- 持久化目录须为绝对路径
docker run -d --name nginx -p 80:80 \
-v /root/nginx/config/nginx/:/etc/nginx \
-v /root/nginx/data/html:/usr/share/nginx/html \
-v /root/nginx/logs/:/var/log/nginx \
nginx:latest
- 测试,修改欢迎页面
cd /root/nginx/data/html
echo "hello nginx" > index.html
- 访问
docker-compose方式启动
- 进入工作目录
/root/nginx
,创建docker-compose编排文件(挂载目录一致)
vim docker-compose.yml
version: '3'
services:
nginx:
image: nginx # 镜像
container_name: nginx # 容器名
restart: always # 开机自动重启
ports: # 端口号绑定(宿主机:容器内)
- 80:80
volumes: # 目录映射(宿主机:容器内)
- ./config/nginx/:/etc/nginx
- ./data/html:/usr/share/nginx/html
- ./logs/:/var/log/nginx
- 启动
docker-compose up -d
- 停止
docker-compose down
- 若修改配置,需重新创建容器
docker-compose up -d --force-recreate
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/70884.html