我下载了centos的基础形象在后台作为守护进程执行,然后累了,在终端,无法进入。
我的主机是Ubuntu 16.04。
以下是我执行的步骤:
主机操作系统版本Ubuntu 16.04
root@jim-Ubuntu1504:/home/jim/web# lsb_release -a No LSB modules are
available. Distributor ID: Ubuntu Description: Ubuntu 16.04 LTS
Release: 16.04 Codename: xenial
root@jim-Ubuntu1504:/home/jim/web#
通过以下命令启动Docker
root@jim-Ubuntu1504:/home/jim/web# docker run -d --name=my_centos centos
Unable to find image 'centos:latest' locally
latest: Pulling from library/centos
a3ed95caeb02: Pull complete
da71393503ec: Pull complete
Digest: sha256:1a62cd7c773dd5c6cf08e2e28596f6fcc99bd97e38c9b324163e0da90ed27562
Status: Downloaded newer image for centos:latest
63f4b8fce1bd44253bb420436da3ad5b8f532b253fc9e74ff52ad1b2f9844251
root@jim-Ubuntu1504:/home/jim/web# docker exec -i -t my_centos bash
Error response from daemon: Container 63f4b8fce1bd44253bb420436da3ad5b8f532b253fc9e74ff52ad1b2f9844251 is not running
不知道为什么退出
root@jim-Ubuntu1504:/home/jim/web# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
63f4b8fce1bd centos "/bin/bash" 18 minutes ago Exited (0) 18 minutes ago my_centos
f0ca8b9f4fa5 nginx "nginx -g 'daemon off" 23 minutes ago Up 23 minutes 80/tcp, 443/tcp my_nginxtemp
bb9ab4958c33 nginx "nginx -g 'daemon off" About an hour ago Up About an hour 80/tcp, 443/tcp boring_aryabhata
886d174f641d nginx "nginx -g 'daemon off" 2 hours ago Up 2 hours 80/tcp, 443/tcp mad_fermat
root@jim-Ubuntu1504:/home/jim/web#
已启动容器,但不知道它为什么退出
root@jim-Ubuntu1504:/home/jim/web# docker start 63f4b8fce1bd
63f4b8fce1bd
root@jim-Ubuntu1504:/home/jim/web# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
63f4b8fce1bd centos "/bin/bash" 26 minutes ago Exited (0) 2 seconds ago my_centos
f0ca8b9f4fa5 nginx "nginx -g 'daemon off" 30 minutes ago Up 30 minutes 80/tcp, 443/tcp my_nginxtemp
bb9ab4958c33 nginx "nginx -g 'daemon off" About an hour ago Up About an hour 80/tcp, 443/tcp boring_aryabhata
886d174f641d nginx "nginx -g 'daemon off" 2 hours ago Up 2 hours 80/tcp, 443/tcp mad_fermat
root@jim-Ubuntu1504:/home/jim/web# docker exec -i -t my_centos bash
Error response from daemon: Container 63f4b8fce1bd44253bb420436da3ad5b8f532b253fc9e74ff52ad1b2f9844251 is not running
root@jim-Ubuntu1504:/home/jim/web#
附言:有人能取消每90分钟发布一次的限制吗?学习必须是自发的和互动的。
5条答案
按热度按时间3npbholx1#
您正在寻找在
detached
模式下运行centos
容器。请尝试以下操作...sudo docker run -d -it centos
yruzcnhs2#
如果你查看CentOS最新镜像的Dockerfile,你会注意到最后一行,from here:
CMD ["/bin/bash"]
所以你启动一个有shell的容器,它存在,仅此而已。
尝试:
docker run -it --name=my_centos centos sleep infinity
或任何变体。
顺便说一句,当你做的时候
root@jim-Ubuntu1504:/home/jim/web# docker exec -i -t my_centos bash
你假设你的容器正在运行,而这里没有。
检查:
docker ps -a --filter="name=my_centos"
你的集装箱已经装好了
rslzwgfq3#
您必须在交互模式下运行图像才能连接到它。
docker run -it centos
-it
指示Docker分配一个连接到容器的stdin的pseudo-TTY;在容器中创建一个交互式bash shell。您可以在运行该命令后看到这一点。
docker@default:~$ docker run -it centos [root@0c3c7d59b91c /]#
fgw7neuy4#
当我们尝试启动容器时,它执行bash,bash无法找到控制终端,因为centos的docker容器在形成时立即停止。要提供终端并在分离模式下运行它,您可以用途:
这将在分离模式下运行Docker容器,并将控制终端分配给bash,因为容器不会停止。稍后进入容器,您可以用途:
e3bfsja25#
我正面临着这样的事情。
我从docker hub下载了ubunutu.20镜像,并在该镜像上定制和安装了很多服务,并在本地提交。
我可以用
docker run -dt .......
创建一个容器但是当我尝试通过
docker-compose.yml
向上时,它总是重新启动。我的命令:
#docker run -dt --restart=always --name my_container -p 443:443 registry.mydomain.com:5000/my_image:1.0.5
我的
docker.compose.yml
文件