每当我尝试docker compose up-d
,我的容器都会以code0
退出。
我有以下docker编写。yml
:
version: "3"
services:
ansible:
container_name: controller
image: centos_ansible
build:
context: centos_ansible
networks:
- net
networks:
net:
centos ansible中的Dockerfile:
FROM centos
RUN yum install python3 -y && \
yum install epel-release -y && \
yum install ansible -y
只有在容器内有要运行的内容时,Docker容器才会继续运行。尝试添加一个ENTRYPOINT
到你的Dockerfile!(https://docs.docker.com/engine/reference/builder/#entrypoint)
为了保持容器运行,您需要告诉它做些什么。
正如另一个答案所提到的,您可以通过在Dockerfile中添加一个入口点来实现这一点。或者,根据此答案,您可以添加如下命令,或执行更有用的操作:
version: "3"
services:
ansible:
container_name: controller
image: centos_ansible
build:
context: centos_ansible
networks:
- net
command: tail -f /dev/null
networks:
net:
或者,如果您需要将shell放入容器中,您可以将
tty:true
选项添加到您的服务中。
问题是您没有指定对容器的任何操作,因此,它会立即退出。
有几种方法可以告诉容器做什么。请参阅此伟大的SO问题以了解更多信息。
在使用docker compose时,可以指示容器必须执行的命令
:
services:
ansible:
container_name: controller
image: centos_ansible
command: ansible-playbook playground.yml
build:
context: centos_ansible
networks:
- net
networks:
net:
似乎您正试图从docker运行ansible
。请看这篇文章,也许它会为你的问题提供一些额外的想法。
考虑: 我按下Ctrl键退出它。 我想继续运行这个容器,但我发现我不能。 唯一的方法就是 我说得对吗?有更好的方法吗?(我使用的是docker 0.8.0。)
问题内容: 我正在尝试使用nginzx,flask和react创建一个docker-compose设置。我使用react-create- app(https://github.com/facebook/create-react- app )启动了我的react应用程序,但尚未对其进行任何更改。 我的react应用程序的Dockerfile是: 撰写脚本为: flask和nginx容器启动正常,re
从这篇文章中,我发现我可以使用序列Ctrl+P+Ctrl+Q从docker容器中分离。 我想知道,是否可以创建一个bash(或python或其他)脚本,它进入docker容器,运行几个命令,然后使用转义序列退出容器?我认为可能不可能,但请确认/否认这一点!
我需要编码方面的帮助。我再次练习我的java编程,今天我创建了一个计算器,它具有与真正的计算器相同的功能,但我再次遇到错误,无法再次计算。 好的,我希望我的计算器工作的方式是,而不是像这样从用户那里获取逐行输入:- 代码内输出 我想让它在用户按下enter键时进行计算,如下所示:- 我想要的输出 因此,他们可以在按下enter calculate键之前添加任意长的数字。用户应该能够在计算循环中使用
问题内容: 例如,如果我使用命令, 它将启动一个终端,之后我可以安装软件包和所有软件包。现在,当我使用命令时,它会返回到终端。(主要一) 那么如何再次访问同一容器?当我再次运行该命令时,我得到了一个新的高山。 请帮忙 问题答案: 拉图像 看到那里的图像 看看高山里面有什么 现在您的问题是如何留在外壳上 您在Shell脚本命令行中。一些发行版可能有bash shell。 此时,您可以使用alpine
在非gui模式下使用JMeter执行脚本和远程测试时,我会收到错误消息,如何解决该问题