如何通过重新部署来重新创建共享卷?

时间:2020-09-25 12:44:29

标签: php docker symfony docker-compose docker-swarm

我有一大堆。是Symfony + nginx。我实现了它,就像两个服务都可以通过名为 app 的共享卷看到彼此的数据一样。 问题是,当我更改php映像中的某些数据并且想要重新部署堆栈时,我需要手动删除堆栈并删除 app 卷,以便 app 卷可以由新的php容器填充。 在没有此手动操作的情况下,需要进行哪些更改才能进行重新部署工作? 我这样做的任何途径都是不将数据从php映像复制到具有ci的nginx映像,或者不绑定到我应该先放置数据的持久主机卷?

version: '3.7'

volumes:
  app:

x-op-deploy: &deploy
  replicas: 1
  restart_policy:
     condition: on-failure
  placement:
     constraints: [node1]

x-php: &common-php-container
  image: someSymfonyImage
  volumes:
    - app:/var/www/app # the Symfony image has a workdir on this path
  deploy:
     <<: *deploy

services:

  php_fpm:
    <<: *common-php-container
    
  rest_server:
    image: nginx
    ports:
      - "8080:80"
    volumes:
      - app:/var/www/app
    command: '/bin/sh -c ''while :; do sleep 12h & wait $${!}; nginx -s reload; done & nginx -g "daemon off;"'''
    deploy:
       <<: *deploy

0 个答案:

没有答案