docker容器 - 新建容器、启动容器、暂停容器和停止容器
实验环境
CentOS 7.5
容器
容器是镜像的运行实例。不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层;同时,容器中的应用进程处于运行状态。
新建容器
[root@kvm ~]# docker create -it docker.io/centos:7.3.1611
1cfd243950c3590d642d84c1c71ad3737adb65a74f10b6617bc174e867c02159
[root@kvm ~]# docker ps -a
CONTAINER ID        IMAGE                       COMMAND             CREATED             STATUS                         PORTS               NAMES
1cfd243950c3        docker.io/centos:7.3.1611   "/bin/bash"         11 seconds ago      Created                                            determined_booth
c086bbf46c29        www.wholj.com:7.2           "/bin/bash"         25 minutes ago      Up 23 minutes                                      epic_hugle
b9783f331187        www.wholj.com:7.3           "/bin/bash"         About an hour ago   Exited (0) About an hour ago                       nostalgic_rosalind
e3fabe002814        www.wholj.com:7.3           "/bin/bask"         About an hour ago   Created                                            romantic_montalcini
0573b7db7f4c        www.wholj.com:7.3           "/bin/bash"         2 days ago          Exited (0) 2 days ago                              determined_heyrovsky
90d3b762f848        docker.io/centos:7.3.1611   "/bin/bash"         2 days ago          Exited (0) 2 days ago                              amazing_pike
8b06ff1ad2f5        docker.io/centos:7.3.1611   "/bin/bask"         2 days ago          Created                                            compassionate_ritchie
cf7b76228bb9        docker.io/centos:7.3.1611   "/bin/bash"         3 days ago          Exited (0) 2 days ago                              elegant_wiles
e71feffdd925        docker.io/centos:latest     "/bin/bash"         4 days ago          Exited (127) 4 days ago                            sharp_curran
9217638356cb        docker.io/centos:latest     "/bin/bash"         4 days ago          Exited (0) 4 days ago                              wonderful_franklin
container ID为1cfd243950c3的即为刚新建的容器;使用docker create新建的容器处于停止状态,可以使用docker start命令来启动它。
启动容器
[root@kvm ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
c086bbf46c29        www.wholj.com:7.2   "/bin/bash"         36 minutes ago      Up 34 minutes                           epic_hugle
[root@kvm ~]# docker start 1cfd243950c3
1cfd243950c3
[root@kvm ~]# docker ps
CONTAINER ID        IMAGE                       COMMAND             CREATED             STATUS              PORTS               NAMES
1cfd243950c3        docker.io/centos:7.3.1611   "/bin/bash"         19 minutes ago      Up 2 seconds                            determined_booth
c086bbf46c29        www.wholj.com:7.2           "/bin/bash"         44 minutes ago      Up 42 minutes                           epic_hugle
注:命令docker ps可查看当前处于运行状态的容器,docker ps -a查看当前所有容器,包括未运行的容器。
新建并启动容器
要想新建并同时启动容器,可用docker run,此命令等价于先执行docker create,再执行docker start。
eg:下面的命令行使用镜像docker.io/centos:latest新建一个ring器并将输出一个“docker test.”,之后容器自动终止:
[root@kvm ~]# docker run docker.io/centos:latest /bin/echo "docker test."
docker test.
通过docker ps可看到刚使用docker run新建的容器不在运行容器列表中(列表中不包含IMAGE为docker.io/centos:latest的容器):
[root@kvm ~]# docker ps
CONTAINER ID        IMAGE                       COMMAND             CREATED             STATUS              PORTS               NAMES
1cfd243950c3        docker.io/centos:7.3.1611   "/bin/bash"         31 minutes ago      Up 11 minutes                           determined_booth
c086bbf46c29        www.wholj.com:7.2           "/bin/bash"         56 minutes ago      Up 54 minutes                           epic_hugle
让容器在后台以守护态运行
要想让容器在后台以守护态形式运行,可通过-d参数来实现;下边的命令行会让容器在后台运行:
[root@kvm ~]# docker run -d www.wholj.com:7.2 /bin/sh -c "while true;do echo hello world;sleep 1;done"
96c3de6f5678ed40c351f8a6a5871053ea42fd9ff4b8da64ac7afd0b8409533d
[root@kvm ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
96c3de6f5678        www.wholj.com:7.2   "/bin/sh -c 'while..."   4 seconds ago       Up 3 seconds                            agitated_elion
通过docker ps可查看到此容器处于运行状态。
注:docker ps命令等价于docker container ls命令。
查看容器日志
要想获取容器的输出信息,可通过docker logs CONTAINER_ID来实现。
命令语法:
[root@kvm ~]# docker logs --help
Usage:  docker logs [OPTIONS] CONTAINER
Fetch the logs of a container
Options:
      --details        打印详细信息
  -f, --follow         持续输出
      --help           打印帮助信息
      --since string   输出从某个时间开始的日志
      --tail string    输出最近的若干日志
  -t, --timestamps     显示时间戳信息
暂停和停止容器
主要介绍Docker容器的pause/unpause、stop和prune子命令。
- 暂停容器
暂停一个正在运行的容器使用docker pause CONTAINER,命令语法: 
[root@kvm ~]# docker pause --help
Usage:  docker pause CONTAINER [CONTAINER...]
Pause all processes within one or more containers
Options:
      --help   打印帮助信息
查看当前处于运行状态的容器并暂停
[root@kvm ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
96c3de6f5678        www.wholj.com:7.2   "/bin/sh -c 'while..."   24 minutes ago      Up 24 minutes                           agitated_elion
[root@kvm ~]# docker pause 96c3de6f5678
96c3de6f5678
[root@kvm ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                   PORTS               NAMES
96c3de6f5678        www.wholj.com:7.2   "/bin/sh -c 'while..."   24 minutes ago      Up 24 minutes   (Paused)                       agitated_elion
docker ps命令执行返回结果前后的STATUS对比,后者多了一个(Paused),即该容器处于暂停状态。处于paused状态的容器,可以使用docker unpause CONTAINER_ID命令来将之恢复到运行状态:
[root@kvm ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                   PORTS               NAMES
96c3de6f5678        www.wholj.com:7.2   "/bin/sh -c 'while..."   31 minutes ago      Up 31 minutes (Paused)                       agitated_elion
[root@kvm ~]# docker unpause 96c3de6f5678
96c3de6f5678
[root@kvm ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
96c3de6f5678        www.wholj.com:7.2   "/bin/sh -c 'while..."   31 minutes ago      Up 31 minutes                           agitated_elion
- 停止容器
- 等待一段时间再停止
停止一个正在运行的容器使用docker stop CONTAINER,命令语法: 
 - 等待一段时间再停止
 
[root@kvm ~]# docker stop --help
Usage:  docker stop [OPTIONS] CONTAINER [CONTAINER...]
Stop one or more running containers
Options:
      --help       打印帮助信息
  -t, --time int   Seconds to wait for stop before killing it (default 10)
该命令首先向容器发送SIGTERM信号,等待一段时间后(-t 参数指定,默认为10s),再发送SIGKILL信号来终止容器。
当执行了stop命令后,再执行docker container prune命令,会自动清除掉所有处于停止状态的容器。
* 直接停止容器
可通过docker kill CONTAINER_ID直接发送SIGKILL信号来强行终止容器。
[root@kvm ~]# docker kill --help
Usage:  docker kill [OPTIONS] CONTAINER [CONTAINER...]
Kill one or more running containers
Options:
      --help            Print usage
  -s, --signal string   Signal to send to the container (default "KILL")
- 当docker容器中的应用终结后,容器也会自动终止。
 
docker容器 - 新建容器、启动容器、暂停容器和停止容器的更多相关文章
- asp.net core容器&mysql容器network互联 & docker compose方式编排启动多个容器
		
文章简介 asp.net core webapi容器与Mysql容器互联(network方式) docker compose方式编排启动多个容器 asp.net core webapi容器与Mysql ...
 - 使用Docker构建nginx容器,并且启动后不会自动退出
		
为什么docker运行后就自动退出? docker 容器默认会把容器内部第一个进程,也就是pid=1的程序作为docker容器是否正在运行的依据,如果docker 容器pid挂了,那么docker容器 ...
 - docker启动,重启,停止容器
		
docker 启动已经停止的容器 docker start 容器ID或容器名 docker 停止容器 docker stop 容器ID或容器名 docker 启动一个容器 -d:后台运行 -p:端口映 ...
 - Docker 启动与停止容器
		
启动已运行过的容器 docker start 容器名称|容器id 如: docker start mycentos 启动所有运行过的容器(注意:反单引号` `), docker ps -a -q 是查 ...
 - Docker部署启动错误,需要手动进入Docker的容器里,启动程序,排查错误
		
#docker-compose build --no-cache //重新创建容器,不管有没有 #docker-compose up #docker-compose up -d //后台启动并运行容器 ...
 - docker 1.13.1 启动容器过程中mount报错
		
docker 1.13.1 启动container 问题 [root@openfalcon_transfer1 harbor]# docker run -it --name test busybox ...
 - 8天入门docker系列 —— 第二天 通过一个aspnetcore程序加深对容器的理解
		
我们知道容器是一个打包了应用和相关依赖的盒子,那怎么去操控这个盒子呢? 这一篇我通过一个简单的aspnetcore程序来加深对盒子的理解,使用之前先 安装一下Docker的环境. 一:Docker的安 ...
 - Docker安装基本命令操作,带你了解镜像和容器的概念!
		
上一章节我们了解了Docker的基本概念,以及相关原理.这一章节进行实操. <Docker这么火爆.章节一:带你详尽了解Docker容器的介绍及使用> 一.Docker安装 声明:Dock ...
 - Docker 基本概念(三)-生命周期详解(镜像、容器、仓库)
		
Docker三大组件:镜像.容器.仓库. 一.镜像 1 从仓库获取镜像 #一.从仓库获取镜像,帮助命令:docker pull -help 命令:docker pull [选项] [docker R ...
 
随机推荐
- Android 基础知识 -- Intent
			
Intent (意图) Android通信的桥梁,可以通过Intent启动Activity , Service , 发送指定广播到Receiver <1> 启动Activity : sta ...
 - Error in nextTick: "TypeError: Cannot set property 'xxx' of undefined"解决办法
			
vue项目在控制台中报这个错误时,当看到nextTick词时想到vue的$nextTick()方法 Vue 在更新 DOM 时是异步执行的.只要侦听到数据变化,Vue 将开启一个队列,并缓冲在同一事件 ...
 - 1、腾讯云搭建Hadoop3集群
			
1主机名和IP配置 1.1主机名 1.首先使用root用户名和root密码分别登录三台服务器 2.分别在三台虚拟机上执行命令: hostnamectl set-hostname node1 hostn ...
 - smarty循环item命名规范
			
使用smarty循环渲染数据时第二次循环item复制命名不规范 item=data 后面代码使用data会与后台返回数据冲突 {%foreach from=$data.bind_data key=ke ...
 - 在linux系统中配置NVMe over FC
			
在linux系统中配置NVMe over FC与配置NVMe over TCP类似,前5步操作请参考<在linux系统中配置NVMe over TCP>,网页连接如下: https://w ...
 - CLOUD将excel数据引入单据体
			
http://club.kingdee.com/forum.php?mod=viewthread&tid=989239 http://club.kingdee.com/forum.php?mo ...
 - SimpleDateFormat中YYYYmmDDhhMMss大小写问题-获取不到正确时间以及常见的格式串
			
1.问题解决: SimpleDateFormat sf = new SimpleDateFormat("YYYYmmDDhhMMss");String transTime = &q ...
 - Spring与RestHighLevelClient
			
Elasticsearch连接方式有两种:分别为TCP协议与HTTP协议 最近使用es比较多,之前使用一直是使用spring封装的spring-data-elasticsearch:关于spring- ...
 - SIFT算法原理(3)-确定关键点的主方位,构建关键点描述符
			
介绍官网:https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_feature2d/py_sift_intro/py_sift_intro.html ...
 - python3安装虚拟环境(windows)
			
1.pip install virtualenv :安装命令 2.pip install virtualenvwrapper-win:安装命令 3.配置WORKON_HOME环境变量: 变量名:W ...