创建 docker-compose.yml 文件。

version: '3'
services:
  nginx:
    image: nginx:latest
    ports:
      - 80:80
      - 443:443
    volumes:
      # resume
      - ./nginx/resume.songxingguo.com.conf:/etc/nginx/conf.d/resume.songxingguo.com.conf
      - ./ssl/resume.songxingguo.com_bundle.crt:/etc/nginx/ssl/resume.songxingguo.com_bundle.crt
      - ./ssl/resume.songxingguo.com.key:/etc/nginx/ssl/resume.songxingguo.com.key
      # garden
      - ./nginx/garden.songxingguo.com.conf:/etc/nginx/conf.d/garden.songxingguo.com.conf
      - ./ssl/garden.songxingguo.com_bundle.crt:/etc/nginx/ssl/garden.songxingguo.com_bundle.crt
      - ./ssl/garden.songxingguo.com.key:/etc/nginx/ssl/garden.songxingguo.com.key
    depends_on:
      - resume
      - garden
  resume:
    image: registry.cn-shanghai.aliyuncs.com/songxingguo/resume:latest
    expose:
      - "80"
  garden:
    image: registry.cn-shanghai.aliyuncs.com/songxingguo/garden:latest
    volumes:
      - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
    expose:
      - "80"
  • volumes: 将服务中的内容映射到

注意❗

  • 若挂载的是目录,容器目录要为空目录

  • 若容器目录不存在,也可以挂载会自动创建

  • volumes基本规则*文件夹:文件夹;文件:文件

提示💡

  • 只要指定目录挂载就会删除容器内的同名文件夹。
  • 宿主机的目录和容器的目录可以看成两个指针指向同一个物理地址。

创建 deploy.sh 脚本。

#!/bin/sh
docker-compose stop
docker-compose rm -f
docker-compose up -d
docker ps

为脚本开启执行权限。

chmod u+x deploy.sh

进入目录并执行脚本。

cd /root/deploy && ./deploy.sh

提示💡

可以使用Docker本地客户端进行调试,并使用腾讯云文件上传文件

扩展阅读