Выполнение команд докера в контейнере Azure - PullRequest
0 голосов
/ 03 октября 2018

Я боролся гораздо дольше, чем следовало бы, и я уверен, что должен что-то делать нелегко.

По сути, все, что я хочу сделать, это запустить образ докера в Azure (образ блокчейна eos-dev).Я прошел и создал реестр контейнеров, включил административное управление и создал контейнер, используя:

az container create --resource-group docker --name eosnode --image xxx.azurecr.io/eos-dev --cpu 1 --memory 14 --ip-address public --ports 80 7777 5555 --registry-password "zzz"

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

docker network create testnetwork

И я бы получил это обратно:

77af2f92d66895bbf71490b33d775a116d6d8d7be0cbd0a2b3d18ce7336cf611

Теперь я пытаюсь сделать это на удаленном лазурном контейнере, как это:

az container exec -g docker --name eosnode --container-name eosnode --exec-command "docker network create testnetwork"

Но он ничего не возвращает иЯ понятия не имею, сделал ли он что-нибудь.Что мне здесь не хватает?

Ответы [ 2 ]

0 голосов
/ 12 октября 2018
docker network create

создает сеть докера на машине / хосте, возвращенный хеш-код является идентификатором сети.Все команды 'docker' предполагают запуск на хосте, а не в контейнере.Сеть Docker не требуется для запуска контейнера в экземпляре контейнера Azure.

Если для запуска образа контейнера требуется команда, обычно ее можно найти в документе / примере с:

docker run <image> <command>

Эквивалентный способ запуска контейнера в экземпляре контейнера Azure:

az container create -g <resourceGroup> -n <name> --image <image> --command-line <command> --restart-policy <Always|OnFailure|Never>
  • - командная строка: укажите команду для запуска в контейнере

  • - restart-policy: определить поведение при выходе из команды.

0 голосов
/ 03 октября 2018

Как вы говорите, вы просто хотите запустить образ докера в Azure.И я вижу, вы создаете экземпляр контейнера с помощью команды:

az container create --resource-group docker --name eosnode --image xxx.azurecr.io/eos-dev --cpu 1 --memory 14 --ip-address public --ports 80 7777 5555 --registry-password "zzz"

Для этого шага экземпляр контейнера создается в Azure.И вы можете получить информацию об экземпляре с помощью команды az container show или получить журналы экземпляра с помощью команды az container log.

Также вы можете выполнитьКоманда внутри экземпляра контейнера с помощью команды, подобной этой:

az container exec -g resrouceGroup -n instanceName "bash command"

Но если вы хотите выполнить команду docker network create testnetwork внутри экземпляра контейнера, вы должны установить докер внутри образа, который вы создаете экземпляр контейнерас.

...