Docker实践(二):容器的管理(创建、查看、启动、终止、删除)

Docker实践(二):容器的管理(创建、查看、启动、终止、删除)

转载:https://blog.csdn.net/u010246789/article/details/53958662
docker官方文档地址如下:[https://docs.docker.com/engine/reference/](https://docs.docker.com/engine/reference/)

一、创建

  • docker create:创建容器,处于停止状态。 
    这里写图片描述

    • centos:latest:centos容器:最新版本(也可以指定具体的版本号)。
    • 本地有就使用本地镜像,没有则从远程镜像库拉取。
    • 创建成功后会返回一个容器的ID。
  • docker run:创建并启动容器。

交互型容器:运行在前台,容器中使用exit命令或者调用docker stop、docker kill命令,容器停止。

如下图已经在前台开启一个docker容器: 
这里写图片描述

  • i:打开容器的标准输入。
  • t:告诉docker为容器建立一个命令行终端。
  • name:指定容器名称,可以不填(随机),建议根据具体使用功能命名,便于管理。
  • centos:告诉我们使用什么镜像来启动容器。
  • /bin/bash:告诉docker要在容器里面执行此命令。

后台型容器:运行在后台,创建后与终端无关,只有调用docker stop、docker kill命令才能使容器停止。

这里写图片描述

  • d:使用-d参数,使容器在后台运行。
  • c: 通过-c可以调整容器的CPU优先级。默认情况下,所有的容器拥有相同的CPU优先级和CPU调度周期,但你可以通过Docker来通知内核给予某个或某几个容器更多的CPU计算周期。比如,我们使用-c或者–cpu-shares =0启动了C0、C1、C2三个容器,使用-c/–cpu-shares=512启动了C3容器。这时,C0、C1、C2可以100%的使用CPU资源(1024),但C3只能使用50%的CPU资源(512)。如果这个主机的操作系统是时序调度类型的,每个CPU时间片是100微秒,那么C0、C1、C2将完全使用掉这100微秒,而C3只能使用50微秒。
  • -c后的命令是循环,从而保持容器的运行。
  • docker ps:可以查看正在运行的docker容器。

二、查看

  • docker ps: 查看当前运行的容器
  • docker ps -a:查看所有容器,包括停止的。

这里写图片描述

  • 标题含义:

    • CONTAINER ID:容器的唯一表示ID。
    • IMAGE:创建容器时使用的镜像。
    • COMMAND:容器最后运行的命令。
    • CREATED:创建容器的时间。
    • STATUS:容器状态。
    • PORTS:对外开放的端口。
    • NAMES:容器名。可以和容器ID一样唯一标识容器,同一台宿主机上不允许有同名容器存在,否则会冲突。
  • docker ps -l :查看最新创建的容器,只列出最后创建的。

  • docker ps -n=2:-n=x选项,会列出最后创建的x个容器。

这里写图片描述

三、启动

通过docker start来启动之前已经停止的docker_run镜像。
  • 1
  • 2
  • 容器名:docker start docker_run,或者ID:docker start 43e3fef2266c
  • –restart(自动重启):默认情况下容器是不重启的,–restart标志会检查容器的退出码来决定容器是否重启容器。 
    • docker run --restart=always --name docker_restart -d centos /bin/sh -c "while true;do echo hello world; sleep;done":
    • --restart=always:不管容器的返回码是什么,都会重启容器。
    • --restart=on-failure:5:当容器的返回值是非0时才会重启容器。5是可选的重启次数。 
      这里写图片描述

四、终止

  • docker stop [NAME]/[CONTAINER ID]:将容器退出。
  • docker kill [NAME]/[CONTAINER ID]:强制停止一个容器。

这里写图片描述

五、删除

容器终止后,在需要的时候可以重新启动,确定不需要了,可以进行删除操作。
  • 1
  • 2
  • docker rm [NAME]/[CONTAINER ID]:不能够删除一个正在运行的容器,会报错。需要先停止容器。 
    这里写图片描述

  • 一次性删除:docker本身没有提供一次性删除操作,但是可以使用如下命令实现:

    • docker rm 'docker ps -a -q':-a标志列出所有容器,-q标志只列出容器的ID,然后传递给rm命令,依次删除容器。

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/101573.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 兼容,原来在这里就已经開始——–Day34

    兼容,原来在这里就已经開始——–Day34

  • 纯净版系统怎么安装_纯净版安装版win7

    纯净版系统怎么安装_纯净版安装版win7百度网盘下载:1.链接:https://pan.baidu.com/s/1o-HcKddSG6IAz_0COKhq8Q提取码:hkhr2.扫码下载:

  • spring-mybatis整合-SqlSessionTemplate

    spring-mybatis整合-SqlSessionTemplateSqlSessionTemplate是MyBatis-Spring的核心。这个类负责管理MyBatis的SqlSession,调用MyBatis的SQL方法,翻译异常。SqlSessionTemplate是线程安全的,可以被多个DAO所共享使用。当调用SQL方法时,包含从映射器getMapper()方法返回的方法,SqlSessionTemplate将会保证使用的SqlSession是和当前S

  • Supplier的使用[通俗易懂]

    Supplier的使用[通俗易懂]背景:如何将一个域关联的属性搞到一个类中,可以使用Supplier这个类publicclassSupplierTest{publicenumPersonEnum{NAME(“name”,PersonEnum::getName),AGE(“age”,PersonEnum::getAge);…

    2022年10月27日
  • 二进制数的减法计算_二进制乘法计算器

    二进制数的减法计算_二进制乘法计算器1、二进制减法:0-0=0,10-1=1(向高位借位)1-0=1,1-1=0(模二加运算或异或运算)。2、二进制的加法:0+0=0,0+1=1,1+0=1,1+1=10(向高位进位)。3、二进制的乘法:0*0=0 0*1=0,1*0=0,1*1=1。4、二进制的除法:0÷0=0,0÷1=0,1÷0=0(无意义),1÷1=1。扩展资料计算机采用二进制原因二进位计数制仅用两个数码。0和1,所以,任何具…

  • C语言将int强制转换为char_C语言char数组长度

    C语言将int强制转换为char_C语言char数组长度今天遇到一个小陷阱。本来想看一个字符转成整型之后对应的值,结果竟意外的发现,转成的整型大于256。我:????字符不是只有一个字节么?我把这个字符的前后字符都置0,结果还是一样。我就懵逼了。一查才知道,和signedchar转成int的“潜规则”有关。原来,对于signedchar,将其转化为int时,最高位为符号位,那么扩展时,就会对符号位进行扩展,即将整型比字符多出来的位全部设置成与…

发表回复

您的电子邮箱地址不会被公开。

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