yu我们之前已经学习了如何运行容器docker run,也学习了如何进入容器docker attach和docker exec,下面我们来学习容器的其他操作:

stop/start/restart

1.通过docker stop可以停止运行的容器

容器在docker host上面实际是一个进程,docker stop命令其实是向这个进程发送了一个SIGTERM信号。如果想快速停止容器,可以使用docker kill命令,作用是向容器进程发送SIGKILL信号(通过自己做试验,docker stop停止容器是比较慢,docker kill是比较快)

2.对于停止的容器,我们可以通过docker start重新启动

并不是所有停止的容器都可以使用docker start启动起来的,通过试验发现docker start无法将那些没有运行过的容器启动起来,比如:

无法将通过docker run -d centos创建的容器启动起来,因为由docker run -d centos创建出来的容器由于没有前台进程,所以无法运行。

总结:docker start 会保留容器的第一次启动时的所有参数

3.docker restart重启容器

容器重启的过程是:先docker stop,然后docker start

容器可能会因为某种错误而停止运行。对于服务类的容器,我们希望容器能够在遇到错误时可以自动重启;可以通过--restart达到这个效果,如:

--restart=always:无论容器因何种原因退出(包括正常退出),就立即重启(--restart=always针对的是容器的启动进程,只有当容器的启动进程退出时,--restart才生效)

退出包括正常退出或者非正常退出。例如:启动进程正常退出或发生OOM(out of memory),此时docker 会根据--restart的策略来判断是否需要重启容器。如果容器执行的是docker stop 和docker kill而退出,则不会自动重启

--restart=on-failure:3    :容器的退出代码为非0值,则重启容器,最多重启3次

4.pause暂停容器

有时可能需要暂停一会容器,比如给容器的文件系统做快照,或者Host 主机需要CPU资源,这时我们可以使用docker pause 暂停容器

其实这个pause停止的是容器里面的进程,处于暂停状态的容器不会占用CPU资源,直到通过docker unpause 恢复运行

5.rm删除容器

前面做了大量的实验之后,有很多Exited状态的和UP状态的容器,那对于这些容器,大部分是我们不用的,但是这些容器依然会占用大量的Host的资源,对于这些不用的容器,可以使用docker rm进行删除

可以看到我的Host上有大量的Exited状态的容器,一个一个的删除太麻烦了,那我们可以使用docker rm $(docker ps -a -q)批量删除Exited容器

-p:列出所有容器的ID

docker rm -v $(docker ps -aq  -f status=exited)这个命令是彻底删除Host上面的状态为EXITED状态的容器

-v :容器启动后,数据会以volume的形式存在于硬盘中,即使删除了容器,数据也不会被删除;加上-v的参数,容器执行的数也会被删除

-f:强制删除,可以删除正在运行的容器

两个高危参数,谨慎使用!!!

6.create预创建容器

在一些情况下我们可以先预创建容器,稍后再启动他

通过docker create创建的容器,处于create状态,可以通过docker start启动他

docker run命令实际是由docker create和dcoker start的组合

centos7下安装docker(8.3容器的常用操作)的更多相关文章

  1. centos7下安装docker(19容器架构)

    What,Why,How What:什么是容器? 说起容器大家想到的是什么?      集装箱(container),虚拟机,docker,k8s 1. 没毛病,因为容器与集装箱的英文都可以翻译成co ...

  2. centos7下安装docker(11容器操作总结)

    这段时间主要是学习了对容器的操作,包括:容器的状态:start,stop,restart,rename,pause,unpause,rm,attach,exec,kill,logs:还学习了对容器的资 ...

  3. centos7下安装docker(10容器底层--cgroup和namespace)

    cgroup和namespace是实现容器底层的重要技术 cgroup:实现资源限制 namespace:实现资源隔离 1.cgroup:control group Linux操作系统通过cgroup ...

  4. centos7下安装docker(9容器对资源的使用限制-内存)

                  一个docker Host上面会运行若干容器,每个容器都需要CPU,内存和IO资源.容器提供了控制分配多少CPU,内存给每个容器的机制,避免摸个容器因占用太多资源而影响其他 ...

  5. docker(一) Centos7下安装docker

    docker(一) Centos7下安装dockerdocker(二) windows10下安装dockerdocker(三) 镜像和容器常用命令 docker(四) 使用Dockerfile构建镜像 ...

  6. CentOS7下安装docker(Docker系列1)

    CentOS7下安装docker 系统要求 为了安装docker,需要准备 64-bit的CentOS 7 删除非官方的Docker包 yum的仓库中有一个很旧的Docker包, 现在Docker官方 ...

  7. centos7下安装docker与镜像加速

    1.背景 centos7下安装docker 2.安装 第一步:检查是否为centos7版本 第二步:依赖环境安装 执行如下两个命令: yum -y install gcc yum -y install ...

  8. centos7 下安装docker报错:You could try using...

    搞了台VPS,想要装docker,发现死活装不上,各种报错.之前系统是centos6,发现官方现在已经不支持centos6了,遂升级到centos7,然后还是出现下面这个错误. Error: Pack ...

  9. centos7下安装docker(13.4容器volume总结)

    最近我们学习了docker 存储,首先docker存储有两种:storage driver和data volume. storage driver是由镜像层和容器层组成的,可以通过docker ins ...

  10. centos7下安装docker(13.2容器数据共享)

    回想一下我们学了两种存储方式:storage driver和data volume,其中又分为bind mount和docker managed volume,我们知道storage driver就是 ...

随机推荐

  1. Filebeat+Kafka+Logstash+ElasticSearch+Kibana 日志采集方案

    前言 Elastic Stack 提供 Beats 和 Logstash 套件来采集任何来源.任何格式的数据.其实Beats 和 Logstash的功能差不多,都能够与 Elasticsearch 产 ...

  2. JavaWeb学习(二十二)———EL表达式

    一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...

  3. 鸟哥的Linux私房菜:基础学习篇 —— 第六章笔记

    1.下面这些就是比较特殊的目录,得要用力的记下来才行: . 代表此层目录 .. 代表上一层目录 - 代表前一个工作目录 ~ 代表“目前使用者身份”所在的主文件夹 ~account 代表 account ...

  4. Ubuntu安装与配置

    四.ubuntu下生成ngrok服务器主程序 4.1.步骤与先决条件 如果你只是临时穿透或调试用,到第三步基本就可以了,但如果想作为稳定的商业服务,用别人的服务器还是受制于人,这里我们准备搭建自己的n ...

  5. 【手记】解决“未能创建 SSL/TLS 安全通道”异常

    之前写了一个桌面程序,程序会间歇性访问某个https接口,一直用的好好的,今天突然报错了,异常就发生在访问接口的地方,曰“请求被中止,未能创建 SSL/TLS 安全通道.”,另外有台电脑也有跑该程序, ...

  6. Linux中ssh介绍与ssh+key密钥登陆部署

    环境内核信息: [root@zabbix- ~]# uname -a Linux zabbix- -.el6.x86_64 # SMP Tue Mar :: UTC x86_64 x86_64 x86 ...

  7. Redis管道

    介绍 Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务.客户端请求会遵循以下步骤:客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应并将结果返 ...

  8. Intellij Idea乱码解决方案

    使用Intellij Idea经常遇到的三种乱码问题: 1.工程代码乱码 2.main方法运行,控制台乱码 3.tomcat运行,控制台乱码 解决方案: 1.工程代码乱码 Settings > ...

  9. 畅通工程续(HDU 1874)附上超详细源代码

    Problem Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行 ...

  10. js 动态绑定事件 on click 完美解决绑定不成功

    动态绑定坑了多少人..... //绑定   $("ol").on("click","li a",function(){ ...   }) / ...