我下载了后台执行的centos base image as daemon,然后在terminal里很累,进不去
我的主机是 Ubuntu 16.04.
以下是我执行的步骤:
主机操作系统版本 Ubuntu16.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#
PS:有人可以取消每90分钟发一次的限制吗???学习必须是自发的和互动的。
您正在寻找以
centos
模式运行的detached
容器。
尝试以下...
sudo docker run -d -it centos
如果你查看 CentOS 最新镜像的 Dockerfile,你会注意到最后一行,来自这里:
CMD ["/bin/bash"]
所以你启动一个有外壳的容器,它存在,仅此而已。
尝试:
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"
你的容器是起来的。
您必须以交互模式运行图像才能连接到它。
docker run -it centos
-it
指示Docker分配一个连接到容器标准输入的伪TTY;在容器中创建交互式 bash shell。
您可以在运行该命令后期待这一点。
docker@default:~$ docker run -it centos
[root@0c3c7d59b91c /]#
当我们尝试启动容器时,它执行 bash,并且 bash 无法找到控制终端,因为 centos 的 docker 容器在形成时立即停止。要提供终端并在分离模式下运行它,您可以使用:
docker container run -it --name centos7 -d centos:latest
这将在分离模式下运行 docker 容器,并将控制终端分配给 bash,因为容器不会停止。 稍后进入容器你可以使用:
docker container exec -it <container-id> bash
我正面临这样的事情。 我从 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 文件。
版本:“3.5”
服务: 我的服务名称: 图片:registry.mydomain.com:5000/my_image:1.0.5 重启:总是 名称:我的容器 端口: - 443:443 网络: - 我的网络 网络: 我的网络: 司机:桥
$ docker 历史 -H my_image:1.0.5 由尺码评论创建的图像 f5fe3f7a9d1f 14 小时前 /bin/bash 202MB comment-1 14 小时前 /bin/bash 210MB comment-2 最好的问候。