docker-compose部署Nginx

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
  • 访问

image-20220311093150528

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
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值