zoukankan      html  css  js  c++  java
  • 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 /]#

    可以看到已经进入了。

  • 相关阅读:
    第七章之main函数和启动例程
    第一章之系统调用、库函数、内核函数区别
    unp第七章补充之socket tcp 产生 rst响应的情况
    unp第七章补充之TCP半开连接与半闭连接
    Qt 布局管理器
    Qt setMargin()和setSpacing() 的含义
    工作感悟
    关于数组数据常用的技巧
    正则表达式练习
    call/apply应用-对象使用原型链上的方法
  • 原文地址:https://www.cnblogs.com/zhuzi91/p/8287617.html
Copyright © 2011-2022 走看看