4.2.1、容器在宿主机有三种状态 分别是运行(Up)态 暂停(Paused)态,终止(Exited)态
1、运行态
补充:docker rm -f `docker ps -a -q` //删除ps查看出的所有容器,-f是强制删除运行的
#运行一个名为test1-nginx的Nginx容器 并且把80端口映射到宿主机80端口
[root@localhost ~]# docker run -d -p 80:80 --name test1-nginx docker.io/nginx
5f7694f4baf9bcd15be2067988559989310220d0fcf791b9bbfd881f932317c2
[root@localhost ~]# docker ps -a //查看容器状态未up
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5f7694f4baf9 nginx "/docker-entrypoint.…" 9 seconds ago Up 8 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp test1-nginx
2、暂停态
[root@localhost ~]# docker pause test1-nginx //暂停命令
test1-nginx
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5f7694f4baf9 nginx "/docker-entrypoint.…" 5 minutes ago Up 5 minutes (Paused) 0.0.0.0:80->80/tcp, :::80->80/tcp test1-nginx
#访问测试 发现暂停的本质是暂停容器中的服务
[root@localhost ~]# curl -I 192.168.190.128
^C
#使暂停的容器终止暂停 变为运行
[root@localhost ~]# docker unpause 5f76
5f76
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5f7694f4baf9 nginx "/docker-entrypoint.…" 12 minutes ago Up 12 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp test1-nginx
785152f37526 nginx "/docker-entrypoint.…" 14 minutes ago Created test-nginx
#再次测试
[root@localhost ~]# curl -I 192.168.190.128
HTTP/1.1 200 OK
Server: nginx/1.27.1
Date: Mon, 30 Sep 2024 19:08:43 GMT
Content-Type: text/html
Content-Length: 615
Last-Modified: Mon, 12 Aug 2024 14:21:01 GMT
Connection: keep-alive
ETag: "66ba1a4d-267"
Accept-Ranges: bytes
3、终止态
#容器终止
[root@localhost ~]# docker stop test1-nginx
test1-nginx
#测试验证
[root@localhost ~]# curl -I 192.168.190.128
curl: (7) Failed to connect to 192.168.190.128 port 80: 拒绝连接
#容器唤醒
[root@localhost ~]# docker start test1-nginx
test1-nginx
#测试
[root@localhost ~]# curl -I 192.168.190.128
HTTP/1.1 200 OK
Server: nginx/1.27.1
Date: Mon, 30 Sep 2024 19:16:09 GMT
Content-Type: text/html
Content-Length: 615
Last-Modified: Mon, 12 Aug 2024 14:21:01 GMT
Connection: keep-alive
ETag: "66ba1a4d-267"
Accept-Ranges: bytes
4.4.2、进入容器两个方法 docker attach 与docker exec
1、docker attach
测试退出方法
退出容器方法 | exit | Ctrl+D | Ctrl+P+Q |
docker attach | 退出并容器终止 | 退出并容器终止 | 退出并容器不终止 |
docker exec | 退出并容器不终止 | 退出并容器不终止 | 退出并容器终止 |
#创建容器
[root@localhost ~]# docker run -it -d centos /bin/bash
48aa0b694bb0d77bdfc322a240a9b67cd84efc223aa352b1144f88f2c7e3cf51
#使用docker attach +上面容器开头几字符进入容器
[root@localhost ~]# docker attach 48aa
[root@48aa0b694bb0 /]# ls
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
#使用exit退出
[root@48aa0b694bb0 /]# exit
exit
#查看容器状态为关闭
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
48aa0b694bb0 centos "/bin/bash" About a minute ago Exited (0) 18 seconds ago suspicious_chaum
#启动容器
[root@localhost ~]# docker start 48aa
48aa
#查看状态 已启动
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
48aa0b694bb0 centos "/bin/bash" About a minute ago Up 7 seconds suspicious_chaum
#进入容器
[root@localhost ~]# docker attach 48aa
[root@48aa0b694bb0 /]# ls
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
#使用Ctrl+P+Q退出
[root@48aa0b694bb0 /]# exitread escape sequence
#查看状态
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
48aa0b694bb0 centos "/bin/bash" 2 minutes ago Up About a minute suspicious_chaum
2、docker exec
##创建容器
[root@localhost ~]# docker run -it -d centos /bin/bash
488060154e3a413723dd548ac4cf78d0b7fd66133643c5f43e23e7595b04ac01
##查看容器命令
[root@localhost ~]# docker exec 488 ls
bin
dev
etc
home
lib
lib64
lost+found
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
##进入容器
[root@localhost ~]# docker exec -it 488 /bin/bash
[root@488060154e3a /]# exit ##Ctrl+D
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
488060154e3a centos "/bin/bash" 24 minutes ago Up 15 seconds exciting_turing
[root@localhost ~]# docker exec -it 488 /bin/bash
[root@488060154e3a /]# read escape sequence ##Ctrl+P+Q
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
488060154e3a centos "/bin/bash" 24 minutes ago Up 41 seconds exciting_turing
4.3、停止和删除容器
1、停止容器 命令
docker stop #停止容器
docker kill -9 #强制停止容器
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
488060154e3a centos "/bin/bash" 47 minutes ago Up 23 minutes exciting_turing
[root@localhost ~]# docker stop `docker ps -q`
488060154e3a
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
488060154e3a centos "/bin/bash" 48 minutes ago Exited (0) 3 seconds ago exciting_turing
2、删除容器
docker rm `docker ps -a | grep Exited | awk '{print $1}'`
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
488060154e3a centos "/bin/bash" 48 minutes ago Exited (0) 3 seconds ago exciting_turing
48aa0b694bb0 centos "/bin/bash" 9 days ago Exited (255) About an hour ago suspicious_chaum
5f7694f4baf9 nginx "/docker-entrypoint.…" 9 days ago Exited (255) About an hour ago 0.0.0.0:80->80/tcp, :::80->80/tcp test1-nginx
785152f37526 nginx "/docker-entrypoint.…" 9 days ago Created test-nginx
[root@localhost ~]# docker rm `docker ps -a | grep Exited | awk '{print $1}'`
488060154e3a
48aa0b694bb0
5f7694f4baf9
docker rm `docker ps -a -q`
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2214ce063334 centos "/bin/bash" 24 seconds ago Exited (0) 3 seconds ago sharp_meninsky
785152f37526 nginx "/docker-entrypoint.…" 9 days ago Created test-nginx
[root@localhost ~]# docker rm `docker ps -a -q`
785152f37526
docker rm `docker ps -q -f status=exited`
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
49ef3c9ad5f8 centos "/bin/bash" 23 seconds ago Exited (0) 3 seconds ago cool_carson
[root@localhost ~]# docker rm `docker ps -q -f status=exited`
49ef3c9ad5f8
docker container prune #删除所有处于终止状态的容器
[root@localhost ~]# docker container prune
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Deleted Containers:
8d3281206503d5c863b1c9d82090684453577da893a3dfce8af7a4dcfeb4e00c
Total reclaimed space: 5B