【发布时间】:2018-07-26 12:55:29
【问题描述】:
是否可以通过 Docker Compose 在 Azure WebApp 服务下运行的容器中执行命令?
当我通过az container create ... 创建单个容器时,它就可以工作了。
但是当我通过 Docker compose 脚本使用az webapp create --multicontainer-config-type compose ... 创建一组容器时,它就不起作用了。
从日志中我看到有正在运行的容器 myWebApp_myContainer_1 所以我尝试:
az container exec -g myResourceGroup -n myWebApp_myContainer_1 --exec-command "/bin/bash"
有了这个结果:
资源“Microsoft.ContainerInstance/containerGroups/myWebApp_myContainer_1” 在资源组“myResourceGroup”下找不到。
那我试试:
az container exec -g myResourceGroup -n myWebApp --container-name myWebApp_myContainer_1 --exec-command "/bin/bash"
有了这个结果:
找不到资源组“myResourceGroup”下的资源“Microsoft.ContainerInstance/containerGroups/myWebApp”。
注意通常可以在本地 Docker(Azure 之外)上由 Docker compose 脚本启动的容器中执行命令。
更新我不喜欢将 SSH 服务器安装到 Docker 映像中。这是一个不好的方法。我正在寻找像az container exec 这样的直接执行方式。
感谢您的任何提示。
【问题讨论】:
-
当你从一个 docker 镜像创建一个 web 应用时,它是一个 web 服务,而不是一个容器。如果你想连接它,你可以在 docker 镜像中安装 OpenSSH。为此,您可以尝试关注此link。
-
我想要一个更干净的解决方案,然后使用 SSH 服务器污染 docker 映像,在那里运行另一个进程并为 Azure 提供不同版本的映像。我希望会有类似“az webapp container exec ...”的东西。
-
如果您只是想找到一种连接网络应用程序的方法或只需要 CLI 命令?
-
我想要一个 CLI 命令,但它似乎不存在 :-( 抱歉,将 SSH 服务器安装到每个 Docker 映像中是一种不好的做法,对我来说没有办法。跨度>
标签: azure azure-web-app-service azure-cli azure-container-service azure-container-instances