快捷搜索: 王者荣耀 脱发

Docker 启动不了容器的问题

今天在运行 docker 的时候,就是执行 docker exec 命令的时候,发现一直报错。具体的报错信息如下:

Error response from daemon: Container XXX is not running

正常情况下,执行 docker ps 就可以看到运行的容器了,如下:

docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 70ecd2110df8 centos "/bin/bash" About an hour ago Up About an hour 0.0.0.0:8008->80/tcp tender_cray

status 显示的是 Up About XXX,表示容器已经启动起来了.

可是这个时候执行 docker ps 的时候发现是空的,并没有看到 docker 的进程

localhost:~ zhuzi$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01a3e326a1c6 centos "/bin/bash" 8 seconds ago Exited (0) 6 seconds ago unruffled_lamarr

然后 docker ps -a 查看,发现 status 是 Exited (0) 6 seconds ago.表示容器并没有启动,已经退出了。

后来查看了各种资料才发现,原来是 docker run 命令的时候没有指定 dit 参数导致的。

Docker容器后台运行,就必须有一个前台进程。主线程结束,容器会退出。

所以就加上了 dit 参数,再次运行即可。

localhost:~ zhuzi$ docker run -dit -p 8008:80 -v /Users/bamboo:/app centos /bin/bash

localhost:~ zhuzi$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 70ecd2110df8 centos "/bin/bash" About an hour ago Up About an hour 0.0.0.0:8008->80/tcp tender_cra

然后再 exec 以命令在容器中开启一个交互模式的终端.

localhost:~ zhuzi$ docker exec -t -i 70ecd2110df8 /bin/bash [root@70ecd2110df8 /]#

可以看到已经进入了。

今天在运行 docker 的时候,就是执行 docker exec 命令的时候,发现一直报错。具体的报错信息如下: Error response from daemon: Container XXX is not running 正常情况下,执行 docker ps 就可以看到运行的容器了,如下: docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 70ecd2110df8 centos "/bin/bash" About an hour ago Up About an hour 0.0.0.0:8008->80/tcp tender_cray status 显示的是 Up About XXX,表示容器已经启动起来了. 可是这个时候执行 docker ps 的时候发现是空的,并没有看到 docker 的进程 localhost:~ zhuzi$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01a3e326a1c6 centos "/bin/bash" 8 seconds ago Exited (0) 6 seconds ago unruffled_lamarr 然后 docker ps -a 查看,发现 status 是 Exited (0) 6 seconds ago.表示容器并没有启动,已经退出了。 后来查看了各种资料才发现,原来是 docker run 命令的时候没有指定 dit 参数导致的。 Docker容器后台运行,就必须有一个前台进程。主线程结束,容器会退出。 所以就加上了 dit 参数,再次运行即可。 localhost:~ zhuzi$ docker run -dit -p 8008:80 -v /Users/bamboo:/app centos /bin/bash localhost:~ zhuzi$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 70ecd2110df8 centos "/bin/bash" About an hour ago Up About an hour 0.0.0.0:8008->80/tcp tender_cra 然后再 exec 以命令在容器中开启一个交互模式的终端. localhost:~ zhuzi$ docker exec -t -i 70ecd2110df8 /bin/bash [root@70ecd2110df8 /]# 可以看到已经进入了。
经验分享 程序员 微信小程序 职场和发展