docker容器的–rm参数

avatar 2020年5月12日18:06:41 评论 2,017 次浏览

我们在使用docker容器做一些测试的时候,总是喜欢创建一个容器,测试自己的东西后,不管测试好或者不好,测试后这个容器就不需要了,不需要的容器就要删除以免占用空间,前面学到的方法就会先使用docker ps 查看一下在运行的容器,然后在使用docker stop停到要删除的容器,之后是使用docker rmi删除要删除的容器。

[root@www.wulaoer.org ~]# docker run  -it --name test centos:7.2.1511 /bin/bash
[root@1dbc079fa578 /]# ls
anaconda-post.log  bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@1dbc079fa578 /]# exit
exit
[root@www.wulaoer.org ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
1dbc079fa578        centos:7.2.1511     "/bin/bash"         19 seconds ago      Exited (0) 3 seconds ago                       test

这里注意一下,查看容器的时候,自动的关闭了,这个是因为没有定义后台启动,我们可以在-it参数后加一个d后台运行。

[root@www.wulaoer.org ~]# docker run  -itd --name test centos:7.2.1511 /bin/bash
c32b21b3dc5a3ca86fcc554094bb7edced07ec3045de461e383c05ef221c10aa
[root@www.wulaoer.org ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
c32b21b3dc5a        centos:7.2.1511     "/bin/bash"         3 seconds ago       Up 2 seconds

这种创建容器的操作,很容易,但是来回测试,测试完,需要删掉不需要的容器,在手动删除太麻烦了,这就是我们说--rm参数的好处,使用完推出容器自动删除。看下面的例子:

[root@www.wulaoer.org ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@www.wulaoer.org ~]# docker run  -it --rm --name test centos:7.2.1511 /bin/bash
[root@cb0eee4334b9 /]# ls
anaconda-post.log  bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@cb0eee4334b9 /]# exit
exit
[root@www.wulaoer.org ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

这里注意,上面创建容器的时候使用的是-itd,这里使用的是-it,后台运行是推出容器后,容器还是运行状态,所以不能使用-d参数。如果现在启动的容器在运行,在不退出的前提下,可以进入容器。

[root@www.wulaoer.org ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@www.wulaoer.org ~]# docker run  -it --rm --name test centos:7.2.1511 /bin/bash
[root@233967f6acb3 /]# 
重新打开一个页面
[root@www.wulaoer.org ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
233967f6acb3        centos:7.2.1511     "/bin/bash"         11 seconds ago      Up 11 seconds                           test
[root@www.wulaoer.org ~]# docker exec -it 233967f6acb3 /bin/bash
[root@233967f6acb3 /]#

一样可以进入容器,退出容器后,创建的容器自动删除。

[root@www.wulaoer.org ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@www.wulaoer.org ~]# docker run  -it --rm --name test centos:7.2.1511 /bin/bash
[root@233967f6acb3 /]# exit
exit
[root@www.wulaoer.org ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

这就是--rm参数的好处,使用--rm参数,能够方便来回测试容器,不需要要在重新删除容器。这样能够节约时间和工作量,不过在生产环境不建议这样使用。

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: