Для локальной разработки я бы хотел видеть изменения в файлах, используемых контейнерами в режиме Swarm, без необходимости перестраивать их.
Я бы предпочел остаться в режиме Swarm, так какконтейнеры широко используют секреты, которые недоступны в docker-compose up
.
(Это нормально, если решение требует, чтобы узел роя находился на компьютере разработчика.)
docker-compose.yml (для производства не использует привязку mounts. Файлы COPY
находятся в контейнере во время сборки.) :
version: '3.7'
services:
companybox:
image: foo/bar
build:
context: .
ports:
- "8080:8080"
secrets:
- password
secrets:
password:
external: true
docker-compose.override.yml (используется во время локальной разработки) :
version: '3.7'
services:
volumes:
- .:/code
(В настоящее время я использую такие команды, как ./build.sh && docker-compose build foo && docker service update --force bar_foo
, но это медленнеечем хотелось бы)