docker容器状态的转换实现_docker

这篇文章主要介绍了docker容器状态的转换实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

一 docker容器状态转换图

图片[1]-docker容器状态的转换实现_docker-安全小天地

二 实战

[root@localhost ~]# docker info
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 3
Server Version: 17.09.0-ce
Storage Driver: overlay
Backing Filesystem: xfs
Supports d_type: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 06b9cb35161009dcb7123345749fef02f7cea8e0
runc version: 3f2f8b84a77f73d38244dd690525642a72156c64
init version: 949e6fa
Security Options:
seccomp
 Profile: default
Kernel Version: 3.10.0-327.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 993MiB
Name: localhost.localdomain
ID: 6ULL:CFMN:YT7C:4RXZ:2CJ4:26H2:D4Y6:YHUP:SH7L:QLEQ:AWEB:EWTB
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
WARNING: overlay: the backing xfs filesystem is formatted without d_type support, which leads to incorrect behavior.
     Reformat the filesystem with ftype=1 to enable d_type support.
     Running without d_type support will not be supported in future releases.
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
[root@localhost ~]# docker images
REPOSITORY     TAG         IMAGE ID      CREATED       SIZE
clearlinux     latest       32685d114002    6 days ago     62.5MB
busybox       latest       6ad733544a63    6 days ago     1.13MB
alpine       latest       053cde6e8953    6 days ago     3.96MB
[root@localhost ~]# docker run -d --name box1 busybox
4ca3d293206cd34e449075491679b0cddd619b451cac7a3d20d5b5daaa6095d8
[root@localhost ~]# docker run -itd --name box2 busybox
9c1578a50f0b97d48c7501dda6d6e1c3d8b3d9ed0e37416120f91f5a634fb12f
[root@localhost ~]# docker ps -a
CONTAINER ID    IMAGE        COMMAND       CREATED       STATUS           PORTS        NAMES
9c1578a50f0b    busybox       \"sh\"        13 seconds ago   Up 11 seconds                  box2
4ca3d293206c    busybox       \"sh\"        47 seconds ago   Exited (0) 45 seconds ago            box1
[root@localhost ~]# docker run -itd --name box3 busybox
e84a746ea040603aa4db791da77aee2e2502ff5b184e89049a74805671a58ba9
[root@localhost ~]# docker ps -a
CONTAINER ID    IMAGE        COMMAND       CREATED       STATUS           PORTS        NAMES
e84a746ea040    busybox       \"sh\"        5 seconds ago    Up 4 seconds                  box3
9c1578a50f0b    busybox       \"sh\"        About a minute ago  Up About a minute               box2
4ca3d293206c    busybox       \"sh\"        2 minutes ago    Exited (0) 2 minutes ago    
        box1
[root@localhost ~]# docker info
Containers: 3
Running: 2
Paused: 0
Stopped: 1
Images: 3
Server Version: 17.09.0-ce
Storage Driver: overlay
Backing Filesystem: xfs
Supports d_type: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 06b9cb35161009dcb7123345749fef02f7cea8e0
runc version: 3f2f8b84a77f73d38244dd690525642a72156c64
init version: 949e6fa
Security Options:
seccomp
 Profile: default
Kernel Version: 3.10.0-327.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 993MiB
Name: localhost.localdomain
ID: 6ULL:CFMN:YT7C:4RXZ:2CJ4:26H2:D4Y6:YHUP:SH7L:QLEQ:AWEB:EWTB
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
WARNING: overlay: the backing xfs filesystem is formatted without d_type support, which leads to incorrect behavior.
     Reformat the filesystem with ftype=1 to enable d_type support.
     Running without d_type support will not be supported in future releases.
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
[root@localhost ~]# docker ps -a
CONTAINER ID    IMAGE        COMMAND       CREATED       STATUS           PORTS        NAMES
e84a746ea040    busybox       \"sh\"        4 minutes ago    Up 4 minutes                  box3
9c1578a50f0b    busybox       \"sh\"        6 minutes ago    Up 6 minutes                  box2
4ca3d293206c    busybox       \"sh\"        6 minutes ago    Exited (0) 6 minutes ago            box1
[root@localhost ~]# docker restart 9c
9c
[root@localhost ~]# docker ps -a
CONTAINER ID    IMAGE        COMMAND       CREATED       STATUS           PORTS        NAMES
e84a746ea040    busybox       \"sh\"        5 minutes ago    Up 5 minutes                  box3
9c1578a50f0b    busybox       \"sh\"        7 minutes ago    Up 2 seconds                  box2
4ca3d293206c    busybox       \"sh\"        8 minutes ago    Exited (0) 8 minutes ago            box1
[root@localhost ~]# docker pause 9c
9c
[root@localhost ~]# docker ps -a
CONTAINER ID    IMAGE        COMMAND       CREATED       STATUS           PORTS        NAMES
e84a746ea040    busybox       \"sh\"        8 minutes ago    Up 8 minutes                  box3
9c1578a50f0b    busybox       \"sh\"        10 minutes ago   Up 2 minutes (Paused)              box2
4ca3d293206c    busybox       \"sh\"        10 minutes ago   Exited (0) 10 minutes ago            box1
[root@localhost ~]# docker info
Containers: 3
Running: 1
Paused: 1
Stopped: 1
Images: 3
Server Version: 17.09.0-ce
Storage Driver: overlay
Backing Filesystem: xfs
Supports d_type: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 06b9cb35161009dcb7123345749fef02f7cea8e0
runc version: 3f2f8b84a77f73d38244dd690525642a72156c64
init version: 949e6fa
Security Options:
seccomp
 Profile: default
Kernel Version: 3.10.0-327.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 993MiB
Name: localhost.localdomain
ID: 6ULL:CFMN:YT7C:4RXZ:2CJ4:26H2:D4Y6:YHUP:SH7L:QLEQ:AWEB:EWTB
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
WARNING: overlay: the backing xfs filesystem is formatted without d_type support, which leads to incorrect behavior.
     Reformat the filesystem with ftype=1 to enable d_type support.
     Running without d_type support will not be supported in future releases.
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
[root@localhost ~]# docker unpause 9c
9c
[root@localhost ~]# docker ps -a
CONTAINER ID    IMAGE        COMMAND       CREATED       STATUS           PORTS        NAMES
e84a746ea040    busybox       \"sh\"        11 minutes ago   Up 11 minutes                  box3
9c1578a50f0b    busybox       \"sh\"        13 minutes ago   Up 6 minutes                  box2
4ca3d293206c    busybox       \"sh\"        14 minutes ago   Exited (0) 14 minutes ago            box1
[root@localhost ~]# docker info
Containers: 3
Running: 2
Paused: 0
Stopped: 1
Images: 3
Server Version: 17.09.0-ce
Storage Driver: overlay
Backing Filesystem: xfs
Supports d_type: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 06b9cb35161009dcb7123345749fef02f7cea8e0
runc version: 3f2f8b84a77f73d38244dd690525642a72156c64
init version: 949e6fa
Security Options:
seccomp
 Profile: default
Kernel Version: 3.10.0-327.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 993MiB
Name: localhost.localdomain
ID: 6ULL:CFMN:YT7C:4RXZ:2CJ4:26H2:D4Y6:YHUP:SH7L:QLEQ:AWEB:EWTB
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
WARNING: overlay: the backing xfs filesystem is formatted without d_type support, which leads to incorrect behavior.
     Reformat the filesystem with ftype=1 to enable d_type support.
     Running without d_type support will not be supported in future releases.
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
[root@localhost ~]# docker kill 9c
9c
[root@localhost ~]# docker ps -a
CONTAINER ID    IMAGE        COMMAND       CREATED       STATUS            PORTS        NAMES
e84a746ea040    busybox       \"sh\"        17 minutes ago   Up 17 minutes                  box3
9c1578a50f0b    busybox       \"sh\"        19 minutes ago   Exited (137) 3 seconds ago            box2
4ca3d293206c    busybox       \"sh\"        20 minutes ago   Exited (0) 20 minutes ago            box1
[root@localhost ~]# docker stop e8
^[[Ae8
[root@localhost ~]# docker ps -a
CONTAINER ID    IMAGE        COMMAND       CREATED       STATUS            PORTS        NAMES
e84a746ea040    busybox       \"sh\"        19 minutes ago   Exited (137) 1 second ago            box3
9c1578a50f0b    busybox       \"sh\"        21 minutes ago   Exited (137) 2 minutes ago            box2
4ca3d293206c    busybox       \"sh\"        22 minutes ago   Exited (0) 22 minutes ago            box1
[root@localhost ~]# docker start e8
e8
[root@localhost ~]# docker ps -a
CONTAINER ID    IMAGE        COMMAND       CREATED       STATUS            PORTS        NAMES
e84a746ea040    busybox       \"sh\"        22 minutes ago   Up 5 seconds                   box3
9c1578a50f0b    busybox       \"sh\"        24 minutes ago   Exited (137) 4 minutes ago            box2
4ca3d293206c    busybox       \"sh\"        24 minutes ago   Exited (0) 24 minutes ago            box1
[root@localhost ~]# docker start 9c
9c
[root@localhost ~]# docker ps -a
CONTAINER ID    IMAGE        COMMAND       CREATED       STATUS           PORTS        NAMES
e84a746ea040    busybox       \"sh\"        25 minutes ago   Up 3 minutes                  box3
9c1578a50f0b    busybox       \"sh\"        27 minutes ago   Up 3 seconds                  box2
4ca3d293206c    busybox       \"sh\"        28 minutes ago   Exited (0) 28 minutes ago            box1
[root@localhost ~]# docker restart 9c
9c
[root@localhost ~]# docker ps -a
CONTAINER ID    IMAGE        COMMAND       CREATED       STATUS           PORTS        NAMES
e84a746ea040    busybox       \"sh\"        26 minutes ago   Up 4 minutes                  box3
9c1578a50f0b    busybox       \"sh\"        28 minutes ago   Up 7 seconds                  box2
4ca3d293206c    busybox       \"sh\"        28 minutes ago   Exited (0) 28 minutes ago            box1

补充知识:一张图看懂docker容器的所有状态

图片[2]-docker容器状态的转换实现_docker-安全小天地

部分解释:

创建容器的命令

run 是create和start的结合

create-created-start

例子:

docker create httpd

OCM硬件信息

docker kill id 强制关闭容器

die某个程序别强制退出,或者进程出错

docker pause :暂停容器中所有的进程。

docker unpause :恢复容器中所有的进程。

以上这篇docker容器状态的转换实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持安全小天地。

------本文已结束,感谢您的阅读------
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容