如何将Docker run命令转换为Swarm命令?
我有一个像这样运行Docker容器的设置 run-docker.sh如何将Docker run命令转换为Swarm命令?,docker,docker-swarm,Docker,Docker Swarm,我有一个像这样运行Docker容器的设置 run-docker.sh docker build -t wordpress-gcloud container=$(docker run -d wordpress-gcloud) ipOfContainer=$(docker inspect "$container" | jq -r '.[0].NetworkSettings.IPAddress') 但现在我已经建立了一个Docker Swarm(1名经理+2名工人) 我应该如何转换上述bash脚本以
docker build -t wordpress-gcloud
container=$(docker run -d wordpress-gcloud)
ipOfContainer=$(docker inspect "$container" | jq -r '.[0].NetworkSettings.IPAddress')
但现在我已经建立了一个Docker Swarm(1名经理+2名工人)
我应该如何转换上述bash脚本以在swarm上运行容器?通常,您可以通过swarm API访问swarm集群,这与Docker API类似。要访问Swarm API,可以将
-H
参数与docker命令一起使用。例如,如果您的本地计算机上运行swarm manager,端口号为3376,则您可以通过以下方式获取swarm群集信息:
docker -H 127.0.0.1:3376 info
您还可以通过以下方式检查swarm群集容器:
docker -H 127.0.0.1:3376 inspect <container ID>
docker-H 127.0.0.1:3376检查
有关与Swarm cluster通信的更多详细信息,请参见:
但在您的情况下,我认为,docker build
命令可能是一个问题。据我所知,Swarm将从集群中找到一个随机节点来执行此docker构建过程,因此,如果docker构建已执行的节点上不存在docker文件,则会出现错误。我的想法是考虑在某个地方建立你的图像,然后把图像推到A,然后在你想要的任何地方拉和运行图像。