как получить начальный из префикса имени службы Docker с помощью сценария оболочки (который будет именем стека в Docker Swarm) - PullRequest
0 голосов
/ 09 февраля 2019

Я хочу взять начальный префикс имени службы докера («UAT_postgres1.gbc38equ81vj6skoknsu83ypz» из этого, я хочу, чтобы UAT также являлся здесь и именем стека) и сохранить его в переменной при запуске сценария оболочки, чтобы использовать его позднее, во времявыполнение скрипта.любой может помочь мне.спасибо

1 Ответ

0 голосов
/ 09 февраля 2019

Поскольку вы знаете, что это имя стека, почему бы просто не использовать его вместо того, чтобы отправлять в awk:

NAME=$(docker stack ls --format {{.Name}})

Если у вас есть только ID контейнера, нет проблем:

NAME=$(docker inspect --format='{{index .Config.Labels "com.docker.stack.namespace" }}' <container ID>)

Почти то же самое, если вы хотите использовать вместо этого идентификатор службы:

NAME=$(docker inspect --format='{{index .Spec.Labels "com.docker.stack.namespace" }}' <service ID>)

Практически все команды Docker могут быть отформатированы таким образом, чтобы получить то, что вы хотите.Это простой пример, но он очень полезен в других контекстах.

...