我正在尝试做一些非常简单的事情(我想),我想做一个docker镜像,并在并行运行的容器中从同一个映像启动两个不同的脚本。在
简单到
“Hello容器->”
容器2->打印(“世界”)
我做了一些研究,但有些技术似乎有点过度设计,而其他一些则做了类似的事情
CMD ["python", "script.py"] && ["python", "script2.py"]
这不是我要找的。在
我想看看
^{pr2}$
但是运行两个不同的脚本。在
我对这一切还是相当陌生的,所以如果这是一个愚蠢的问题,我提前道歉,并感谢大家与我合作。在
Tags:
您可以使用Docker Compose轻松完成此操作。下面是一个简单的
docker-compose.yml
文件,只是为了说明这个想法:如您所见,这两个服务使用相同的映像,
^{pr2}$alpine
,但它们运行的命令不同。执行docker-compose up
并查看输出:在您的例子中,您只需将图像更改为您的图像,例如
myimage:v1
,并更改服务命令,以便第一个服务定义具有command: python script1.py
行,第二个服务定义command: python script2.py
。在如果您设置使用相同的图像,那么我建议您将ENTRYPOINT设置为python,然后使用docker run命令通过提供scrips作为CMD来启动容器,如下所示:
Dockerfile文件:
使用docker run命令
^{pr2}$这将启动两个容器,每个容器运行单独的脚本
但是-我希望保持图像的干净,不需要任何额外的脚本或包来运行我的服务,所以在这种情况下,我只需创建两个单独的映像,每个映像都有一个脚本,然后以类似的方式运行它们。在
示例:
第二幅图像:
然后把它们构建成单独的图像,然后像以前一样运行
试试这些步骤,它应该会有用的。在
Dockerfile
:- 在
^{pr2}$script1.py
script2.py
docker build -t myimage:v1 .
注意:这里我们使用相同的docker映像
myimage:v1
,只是在每个docker运行命令中更改入口点。在更多信息here。在
希望这有帮助。在
相关问题 更多 >
编程相关推荐