取消对 html 目录的挂载。 html 数据并不推荐挂载到宿主机中,这样版本管理会非常混乱
kind: pipeline type: docker name: deploy depends_on: # 依赖build管道 - build clone: disable: true # 禁用拉取、 steps: - name: deploy-project image: appleboy/drone-ssh settings: host: from_secret: server_host user: from_secret: server_username password: from_secret: server_password port: 22 command_timeout: 2m script: - echo ====开始部署======= - docker pull yxs970707/deploy-web-demo:latest - docker-compose -p web down - docker volume rm web-nginx - docker-compose -f /yml/docker-compose/web.yml -p web up -d - docker rmi $(docker images | grep deploy-web-demo | grep none | awk '{print $3}') - echo ====部署成功=======服务器部署步骤一共 5 个命令
拉取新镜像
卸载旧容器
删除 Volume
启动新容器
删除旧镜像
第三个命令可以在 Docker Compose 使用外部 Volume ,这样就不需要删除 Volume 了。
最后一个命令是删除旧的镜像,当成功拉取新的 latest 镜像,旧镜像 Tag 会变成 none,所以删除标签为 none 的镜像即可