Docker 来自守护程序的错误响应:容器f88566c370dd未运行

Docker 来自守护程序的错误响应:容器f88566c370dd未运行,docker,chef-infra,boot2docker,chef-recipe,Docker,Chef Infra,Boot2docker,Chef Recipe,在执行下面的命令时,我观察到下面的错误 cmd已使用-docker exec-it f88566c370dd/bin/bash 观察到错误-来自后台程序的错误响应:容器f88566c370dd未运行 我试图从一个虚拟机执行一个厨师食谱,以提取一个图像并运行三个CentOS容器 [root@sonatadocker ~]# docker images REPOSITORY TAG IMAGE ID CREATED

在执行下面的命令时,我观察到下面的错误

cmd已使用-
docker exec-it f88566c370dd/bin/bash
观察到错误-
来自后台程序的错误响应:容器f88566c370dd未运行

我试图从一个虚拟机执行一个厨师食谱,以提取一个图像并运行三个CentOS容器

[root@sonatadocker ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED                                                 VIRTUAL SIZE
centos              latest              97cad5e16cb6        3 weeks ago                                             196.5 MB

[root@sonatadocker ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                    PORTS               NAMES
f88566c370dd        centos:latest       "ls -la /"          18 hours ago        Exited (0) 17 hours ago                       third
fdc12e9f65a9        centos:latest       "ls -la /"          18 hours ago        Exited (0) 17 hours ago                       second
604f0eba7010        centos:latest       "ls -la /"          18 hours ago        Exited (0) 17 hours ago                       first
厨师食谱 VM中用于执行厨师配方的命令

chef-client -r recipe[chef-docker::Default]
预期结果:在容器中安装Java、Python等软件或Jenkins和Tomcat等工具

[root@sonatadocker ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED                                                 VIRTUAL SIZE
centos              latest              97cad5e16cb6        3 weeks ago                                             196.5 MB

[root@sonatadocker ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                    PORTS               NAMES
f88566c370dd        centos:latest       "ls -la /"          18 hours ago        Exited (0) 17 hours ago                       third
fdc12e9f65a9        centos:latest       "ls -la /"          18 hours ago        Exited (0) 17 hours ago                       second
604f0eba7010        centos:latest       "ls -la /"          18 hours ago        Exited (0) 17 hours ago                       first

您的容器只运行一个命令,然后退出

docker_container 'first' do
  repo 'centos'
  command 'ls -la /'
  end
将此视为生成一个子shell,执行
ls-al/
,然后退出

让它们保持正常运行的一种方法是将命令更改为:

ls -la /; sleep 10m
要验证您的容器是否已运行该命令,您可以通过以下方式检查容器的日志:

docker logs third

您的容器只运行一个命令,然后退出

docker_container 'first' do
  repo 'centos'
  command 'ls -la /'
  end
将此视为生成一个子shell,执行
ls-al/
,然后退出

让它们保持正常运行的一种方法是将命令更改为:

ls -la /; sleep 10m
要验证您的容器是否已运行该命令,您可以通过以下方式检查容器的日志:

docker logs third

通过将命令更改为“/bin/bash”,我可以看到容器处于启动状态

docker_service 'default' do
  action [:create, :start]
end
# Pull latest image
docker_image 'centos' do
  tag 'latest'
  action :pull
end
# Run container
docker_container 'first' do
  repo 'centos'
  command '/bin/bash'
  tty true
  action :run
  end
  docker_container 'second' do
  repo 'centos'
  command '/bin/bash'
  tty true
  action :run
  end

通过将命令更改为“/bin/bash”,我可以看到容器处于启动状态

docker_service 'default' do
  action [:create, :start]
end
# Pull latest image
docker_image 'centos' do
  tag 'latest'
  action :pull
end
# Run container
docker_container 'first' do
  repo 'centos'
  command '/bin/bash'
  tty true
  action :run
  end
  docker_container 'second' do
  repo 'centos'
  command '/bin/bash'
  tty true
  action :run
  end

为了保持容器正常运行,Docker需要一个命令来保持在前台运行


在您的例子中,命令“ls-la/”列出目录内容和出口,这将导致退出容器。尝试使用继续在前台运行的命令启动容器。

为了保持容器正常运行,Docker需要一个命令来保持在前台运行



在您的例子中,命令“ls-la/”列出目录内容和出口,这将导致退出容器。尝试使用继续在前台运行的命令启动容器。

未创建docker容器。你能用你正在运行的脚本的输出更新这个问题吗?
docker ps-a
是否列出了您的容器?@user2599522-更新了问题。状态:已退出,您当然无法连接docker日志f88@YOU如何启动和运行手动退出的容器docker容器未创建。你能用你正在运行的脚本的输出更新这个问题吗?
docker ps-a
是否列出了您的容器?@user2599522-更新了问题。状态:已退出,您当然无法连接docker日志f88@YOU如何启动和运行手动退出的容器如何保持其连续运行。ls-la/;睡眠10米会使他们在10米后情绪低落。上述解决方案也不起作用。[root@sonatadocker~]#docker ps-容器ID映像命令创建状态端口名称ba6cbedeb3da centos:最新“ls-la/;sleep 10m大约一分钟前退出(2)58秒前thirdi有两个问题:(1)为什么您需要一个容器在不运行任何命令的情况下启动并运行,(2)您尝试的容器中的日志是什么1-以便我可以通过SSH连接到容器并在其中构建应用程序。2-由于容器处于退出状态,我无法获取日志[root@sonatadocker ~]#docker首先记录ls:无法访问/;:没有这样的文件或目录ls:无法访问睡眠:没有这样的文件或目录ls:无法访问10m:没有这样的文件或目录更具体地说,我们可以登录并运行一些命令,并配置容器如何使它们持续运行。ls-la/;sleep 10m将在10m后关闭它们。Ab这个解决方案不起作用[root@sonatadocker~]#docker ps-一个容器ID映像命令创建的状态端口名称ba6cbedeb3da centos:latest“ls-la/;sleep 10m大约一分钟前退出(2)58秒前thirdi有两个问题:(1)为什么您需要一个容器在不运行任何命令的情况下启动并运行;(2)您尝试的容器中的日志是什么1-这样我就可以通过SSH连接到该容器并在其中构建应用程序。2-由于容器处于退出状态,我无法获取日志。[root@sonatadocker~]#docker首先记录ls:无法访问/;:没有这样的文件或目录ls:无法访问睡眠:没有这样的文件或目录ls:无法访问10m:没有这样的文件或目录更具体地说,这样我们就可以登录并运行一些命令并配置容器