docker停止运行中的容器(docker关闭容器)

问题描述:centos启动一个容器添加了-d参数,但是dockerps或者dockerps-a查看却已经退出了shell>dockerrun-dcentosa44b2b88559b68a2221c9574490a0e708bff49d88ca21f9e59d3eb245c7c0547shell>dockerps退出原因1、docker容器运行必须有一…

大家好,又见面了,我是你们的朋友全栈君。

问题描述:

centos 启动一个容器添加了-d 参数,但是docker ps 或者docker ps -a查看却已经退出了

shell>docker run -d centos
a44b2b88559b68a2221c9574490a0e708bff49d88ca21f9e59d3eb245c7c0547
shell>docker ps

可以看到没有正在运行的进程

退出原因

1、docker容器运行必须有一个前台进程, 如果没有前台进程执行,容器认为空闲,就会自行退出
2、容器运行的命令如果不是那些一直挂起的命令( 运行top,tail、循环等),就是会自动退出
3、这个是 docker 的机制问题

解决方案

方案1:
网上有很多介绍,就是起一个死循环进程,让他不停的循环下去,前台永远有进程执行,那么容器就不会退出了,以centos为例

shell>docker run -d centos /bin/sh -c "while true; do echo hello world; sleep 1; done"

缺点: 命令太冗长了,还占用一个终端
方案2:

shell>docker run -dit centos /bin/bash

添加-it 参数交互运行
添加-d 参数后台运行
这样就能启动一个一直停留在后台运行的Centos了。
shell>docker ps 容器运行起来了
在这里插入图片描述

进入容器的方法:

使用exec,不要使用attach命令
attach命令就是使用现有终端,如果你要退出容器操作,那么bash结束,容器也就退出了
shell>docker exec -it /bin/bash //新建一个bash
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127774.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • docker安装elasticsearch(最详细版)[通俗易懂]

    docker安装elasticsearch(最详细版)[通俗易懂]docker安装elasticsearch1.设置max_map_count不能启动es会启动不起来查看max_map_count的值默认是65530cat/proc/sys/vm/max_map_count重新设置max_map_count的值sysctl-wvm.max_map_count=2621442.下载镜像并运行#拉取镜像dockerpullelasticsearch:6.5.4#启动镜像dockerrun–nameelasticsearch-d

    2022年6月11日
    78
  • centos7卸载_关闭docker

    centos7卸载_关闭docker一、禁用和停止容器服务systemctldisabledockersystemctlstopdocker二、删除容器服务器yumremovedocker-*三、删除残留文件rm-rf/var/lib/docker/rm-rf/etc/docker/rm-rf/run/dockerrm-rf/var/lib/dockershimrm-rf/usr/libexec/docker/…

    2022年8月30日
    10
  • dockerfile 端口映射_docker 映射端口

    dockerfile 端口映射_docker 映射端口为什么要端口映射?端口映射的指令是什么?如何查看端口映射是否成功?

    2022年10月18日
    5
  • centos7.4安装docker_爬虫为什么要用docker

    centos7.4安装docker_爬虫为什么要用docker前言当我们在一台电脑上搭建了python3.6的环境,下次换台电脑,又得重新搭建一次,设置环境变量等操作。好不容易安装好,一会提示pip不是内部或外部命令,一会又提示pip:commandno

    2022年7月29日
    9
  • 如何保证docker2375端口的安全

    如何保证docker2375端口的安全情景再现:之前有很多朋友提过,当使用docker-maven-plugin打包SpringBoot应用的Docker镜像时,服务器需要开放2375端口。由于开放了端口没有做任何安全保护,会引起安全漏洞,被人入侵、挖矿、CPU飙升这些情况都有发生,今天我们来聊聊如何解决这个问题。问题产生的原因首先我们要明白问题产生的原因,才能更好地解决问题!Docker为了实现集群管理,提供了远程管理的端口。DockerDaemon作为守护进程运行在后台,可以执行发送到管理端口上的Docker命令。当我们修改do

    2022年6月13日
    48
  • docker离线安装mysql镜像_安装rabbitmq

    docker离线安装mysql镜像_安装rabbitmqDocker离线安装RabbitMQ1、进入dockerhub,搜索rabbit镜像https://registry.hub.docker.com/_/rabbitmq/2、进入官方的镜像,我们选择带有“management”的版本(包含web管理界面)https://hub.docker.com/_/rabbitmq?tab=tags#通过以下方式无法查询到,问题未知[root@localhost~]#dockersearch3.7.7-managementErrorres

    2022年9月26日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号