运行 docker 容器外的脚本
Running script outside of docker container
我正在尝试进行自动部署,所以...
我有一个 .sh
脚本可以自动拉取 docker 个图像,例如:
docker pull mongo
docker stop db
docker rm db
docker run --name db -d mongo
我正在等待 POST 启动它的请求。
所以我有一个容器(带有nginx)作为服务器。但是我必须在容器外调用那个脚本,因为它可以更新任何容器。
这可能吗?如果可以,怎么做?
我觉得您正在寻找 Docker UNIX 套接字。查看一些解释 here(最好向下滚动到该页面的 'The Solution' 部分。
基本上,您将使用已安装的 UNIX 套接字启动 Nginx 容器。这允许您在 Nginx 容器 内部 其他同级容器上使用 docker
命令。
重要安全说明:
使用 UNIX 套接字无疑是一个安全问题,尤其是当您将其暴露在万维网上时。参见 [1] and [2]. Other alternatives might include using Docker-in-Docker, though I am not certain that's suitable for your case right here. Docker did publish a blogpost on how to secure the UNIX socket here,如果那是你想要走的路。
我正在尝试进行自动部署,所以...
我有一个 .sh
脚本可以自动拉取 docker 个图像,例如:
docker pull mongo
docker stop db
docker rm db
docker run --name db -d mongo
我正在等待 POST 启动它的请求。
所以我有一个容器(带有nginx)作为服务器。但是我必须在容器外调用那个脚本,因为它可以更新任何容器。
这可能吗?如果可以,怎么做?
我觉得您正在寻找 Docker UNIX 套接字。查看一些解释 here(最好向下滚动到该页面的 'The Solution' 部分。
基本上,您将使用已安装的 UNIX 套接字启动 Nginx 容器。这允许您在 Nginx 容器 内部 其他同级容器上使用 docker
命令。
重要安全说明:
使用 UNIX 套接字无疑是一个安全问题,尤其是当您将其暴露在万维网上时。参见 [1] and [2]. Other alternatives might include using Docker-in-Docker, though I am not certain that's suitable for your case right here. Docker did publish a blogpost on how to secure the UNIX socket here,如果那是你想要走的路。