4、2 进入容器

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

测试退出方法

退出容器方法exitCtrl+DCtrl+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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值