容器created状态_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容器中的应用终结后,容器也会自动终止。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值