Azure 容器中的 运行 docker 个命令
Running docker commands in an Azure container
我在这方面挣扎的时间比我应该做的要长得多,我确信我一定是在用艰难的方式做某事。
基本上我想做的就是 运行 天蓝色的 docker 图像(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 实例 id 就可以 运行:
docker network create testnetwork
我会得到这个:
77af2f92d66895bbf71490b33d775a116d6d8d7be0cbd0a2b3d18ce7336cf611
现在,我正在尝试像这样在远程 azure 容器上执行此操作:
az container exec -g docker --name eosnode --container-name eosnode --exec-command "docker network create testnetwork"
但它 returns 什么都没有,我什至不知道它是否做了任何事情。我在这里错过了什么?
如您所说,您只想在 Azure 中 运行 一个 docker 图像。我看到您使用以下命令创建容器实例:
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
or get logs of the instance with the command az container log
.
获取实例信息
此外,您可以使用如下命令在容器实例中执行命令:
az container exec -g resrouceGroup -n instanceName "bash command"
但是如果你想运行容器实例中的命令docker network create testnetwork
,你应该在创建容器实例的图像中安装docker。
docker network create
在machine/host上创建一个docker网络,返回的哈希码是网络的id。所有 'docker' 命令都假定 运行 在主机上而不是在容器中。
Docker Azure 容器实例中的 运行 容器不需要网络。
如果容器镜像需要命令来启动,通常可以在其 document/example 中找到命令:
docker run <image> <command>
与 运行 Azure 容器实例中的容器等效的方法是:
az container create -g <resourceGroup> -n <name> --image <image> --command-line <command> --restart-policy <Always|OnFailure|Never>
--command-line:指定容器运行中的命令
--restart-policy:定义命令退出时的行为。
我在这方面挣扎的时间比我应该做的要长得多,我确信我一定是在用艰难的方式做某事。
基本上我想做的就是 运行 天蓝色的 docker 图像(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 实例 id 就可以 运行:
docker network create testnetwork
我会得到这个:
77af2f92d66895bbf71490b33d775a116d6d8d7be0cbd0a2b3d18ce7336cf611
现在,我正在尝试像这样在远程 azure 容器上执行此操作:
az container exec -g docker --name eosnode --container-name eosnode --exec-command "docker network create testnetwork"
但它 returns 什么都没有,我什至不知道它是否做了任何事情。我在这里错过了什么?
如您所说,您只想在 Azure 中 运行 一个 docker 图像。我看到您使用以下命令创建容器实例:
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
or get logs of the instance with the command az container log
.
此外,您可以使用如下命令在容器实例中执行命令:
az container exec -g resrouceGroup -n instanceName "bash command"
但是如果你想运行容器实例中的命令docker network create testnetwork
,你应该在创建容器实例的图像中安装docker。
docker network create
在machine/host上创建一个docker网络,返回的哈希码是网络的id。所有 'docker' 命令都假定 运行 在主机上而不是在容器中。 Docker Azure 容器实例中的 运行 容器不需要网络。
如果容器镜像需要命令来启动,通常可以在其 document/example 中找到命令:
docker run <image> <command>
与 运行 Azure 容器实例中的容器等效的方法是:
az container create -g <resourceGroup> -n <name> --image <image> --command-line <command> --restart-policy <Always|OnFailure|Never>
--command-line:指定容器运行中的命令
--restart-policy:定义命令退出时的行为。