Docker Swarm создает стек с именованными службами, а службы создают одноразовые контейнеры с уникальными именами. Ссылки на имена контейнеров в стеке - плохая практика. Имя службы находится в файле docker-stack.yaml
. Если вы хотите создать стек docker с постоянными томами, лучше вместо этого создать постоянный volume
. docker volume create [OPTIONS] [NAME]
Docker создание тома
Вы также можете создать его, когда запускаете свой стек в своем docker-stack.yaml
. Все контейнеры, порождаемые из my-service, будут использовать один и тот же общий том.
version: "3.8"
services:
my-service:
image: my-service:latest
volumes:
- my-data:/usr/share/mydata
volumes:
my-data
Вместо этого вы можете ссылаться на созданный извне том (с docker volume create my-data
):
volumes:
my-data:
external: true