Как указать имя контейнера в Swarm для параметра --volumes-from - PullRequest
0 голосов
/ 09 июля 2020

Используя автономные контейнеры, я запускаю cronjob с

docker run -name my_name --volumes-from container_name ...

Я хочу сделать то же самое в стеке Swarm, где у моей службы есть более одной реплики, поэтому имя контейнера - имя_контейнера.1., Имя_контейнера .2., Et c.

Как указать имя контейнера, чтобы оно не менялось каждый раз после перезапуска контейнера при получении нового идентификатора?

1 Ответ

0 голосов
/ 10 июля 2020

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...