今天在运行 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 启动不了容器的问题的更多相关文章

  1. 【Devops】【docker】【CI/CD】docker启动的Jenkins容器 - 系统管理 - 全局工具配置 - 自动安装JDK、Maven、Git、Docker

    本篇适用于jenkins是启动的docker容器,自动安装JDK  Maven  Git   Docker等全局工具 ========================================= ...

  2. 在win10 docker启动的centos容器中安装nginx

    我是在win10机器上搭建了一个docker,在docker启动了centos容器,在centos中安装nginx. 安装配置docker 直接在官网下载docker for windows:http ...

  3. Docker: docker 启动一个Nginx容器

    本文演示从官方镜像仓库拉取一个nginx镜像并启动docker run -d –p 8800:80 nginx (同一个镜像,可以启动N个容器, 比如说,一个nginx服务,可以在这个docker主机 ...

  4. Docker启动守护式容器

    目录 启动守护式容器 查看容器日志 docker后台运行 查看容器内运行的进程 ​查看容器内部细节 进入正在运行的容器并以命令行交互 重新进入 上述两个区别 从容器内拷贝文件到主机上 启动守护式容器 ...

  5. Docker 启动,进入容器,查看log命令

    1.启动一个容器 docker run -d -P training/webapp python app.py -d:让容器在后台运行. -P:将容器内部使用的网络端口映射到我们使用的主机上. 如果需 ...

  6. Docker 启动与停止容器

    启动已运行过的容器 docker start 容器名称|容器id 如: docker start mycentos 启动所有运行过的容器(注意:反单引号` `), docker ps -a -q 是查 ...

  7. php连接docker启动的mysql容器报错:(HY000/2002): Connection refused的解决办法

    vim libraries/config.default.php 查找到localhost/127.0.0.1字符[一般来说默认都是localhost] :/localhost 替换成容器名,例如我定 ...

  8. docker启动centos容器后如何用putty连接

    在前面的文章中,我提到过,win10 docker启动容器时,只有配置了宿主机和docker容器的端口映射,外部应用才能访问到容器中的服务,比如映射到Nginx的80端口.现在我将宿主机的某个端口映射 ...

  9. windows 2008 开机启动 Docker Toolbox 并运行容器

    新建 docker-startup.bat @echo off REM Set the name of the VM configuration where dockerd will be hoste ...

随机推荐

  1. sql常用语句备忘录随时更新

    一.查询最新的一条数据 SELECT * FROM Table a WHERE NOT EXISTS (SELECT FROM Table b WHERE a.Date>b.Date) 二.查询 ...

  2. django之Models和ORM

    ORM Object Relational Mapping,简称ORM,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久 ...

  3. zabbix4.0下zabbix-agentd安装

    转:http://www.safecdn.cn/monitor/2018/12/zabbix4-0-zabbix-agentd-install/316.html 一 安装源和Zabbix的依赖包: 1 ...

  4. spring 之 property-placeholder 分析2

    其实我们可以完全不使用  context:property-placeholder  ,而是使用 PropertySourcesPlaceholderConfigurer : <bean cla ...

  5. leetcode226

    /** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNo ...

  6. __getitem__ __setitem__ __delitem__ 使用

    #__getitem__ __setitem__ __delitem__运行设置key value值了class fun: def __init__(self): print('test') def ...

  7. Spring再接触 IOC DI

    直接上例子 引入spring以及Junite所需要的jar包 User.java package com.bjsxt.model; public class User { private String ...

  8. c++冒号作用

    转自http://www.360doc.com/content/13/0605/11/3373961_290615318.shtml 1.冒号(:)用法 (1)表示机构内位域的定义(即该变量占几个bi ...

  9. nginx实现http www服务的方式

  10. django 请求与响应

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...