我们在创建容器的时候,如果容器的命令(command)不是/bin/bash的时候,使用docker attach命令是会卡住进不去容器的bash shell的。如下图所示:

bash in docker 死循环 docker bash -c_bash

  所以,这里记录一个可以进入容器bash的方法。

  

  步骤1:首先确保容器是启动(running)状态,如果不是的请使用命令docker start <容器名/容器ID>启动容器;

  步骤2:然后执行命令docker exec -i -t <容器名/容器ID> /bin/bash进入容器bash。

 

  命令:

sudo docker start nginx-ubuntu-container
sudo docker exec -i -t nginx-ubuntu-container /bin/bash

bash in docker 死循环 docker bash -c_docker bash失败_02

  

 

  可以看一下exec命令帮助文档描述,可以看到exec命令的使用方法是docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

bash in docker 死循环 docker bash -c_nginx_03

  

  顺便说下,按住CTRL+P+Q可以后台运行容器而不退出。