我有一大堆。是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