我正在尝试进行自动部署,所以...
我有一个.sh
脚本可以自动拉取 docker 图像,例如:
docker pull mongo
docker stop db
docker rm db
docker run --name db -d mongo
我正在等待一个 POST 请求来启动它。
所以我有一个容器(带有 nginx)来充当服务器。但我必须在容器外调用该脚本,因为它可以更新任何容器。
那可能吗?如果是这样,怎么做?
我正在尝试进行自动部署,所以...
我有一个.sh
脚本可以自动拉取 docker 图像,例如:
docker pull mongo
docker stop db
docker rm db
docker run --name db -d mongo
我正在等待一个 POST 请求来启动它。
所以我有一个容器(带有 nginx)来充当服务器。但我必须在容器外调用该脚本,因为它可以更新任何容器。
那可能吗?如果是这样,怎么做?
在我看来,您正在寻找 Docker UNIX 套接字。在这里查看一些解释(最好向下滚动到该页面的“解决方案”部分。基本上,您将使用已安装的 UNIX 套接字启动 Nginx 容器。这允许您在 Nginx 容器内部docker
使用命令其他同级容器。
使用 UNIX 套接字是一个明确的安全问题,尤其是当您将其暴露于万维网时。见[1]和[2]。其他替代方案可能包括使用Docker-in-Docker,尽管我不确定这是否适合您的情况。Docker 确实在此处发布了一篇关于如何保护 UNIX 套接字的博文,如果这是您想要的路径。