Docker容器操作
  yyka2UPIbcp2 2023年11月02日 47 0

1docker exec

这个命令docker exec是对运行状态的容器进行执行一个命令,exec就是execute的简写,单词就是执行的意思。例如我们基本上容器都是说linux环境下的容器,在linux下我们经常做的事情就是要执行各种shell命令,所以这个命令用到最多的场景是执行一个容器下的bash程序,然后输入一个命令进行管理和debug等。

1.1首先我这里启动一个centos的容器,后台运行,确保这个容器一直在运行状态。

Docker容器操作_后台运行

复习:通过docker run –it image名称,我们就可以交互启动一个容器(如果要后台运行需要添加参数-d),而且直接就以root用户登录了这个容器,可以执行一些命令,例如我上面输入的pwd 这个shell命令。有时候这种在debug是很不方便的,例如我想直接去运行这个容器的某一个程序,加入上面我截图这个ssh 会话不小心关闭了,如果我们再次运行这个命令,会产生第二个容器,这个并不是我们希望的。

1.2接下来,介绍一个容器操作很重要的命令,那就是docker exec –it container名称  某程序

Docker容器操作_python_02

上面我是直接操作这个容器,运行里面的bash程序。这种操作是操作容器,并没有产生第二个容器。(这里需要注意下,你前面在使用docker run 这个命令后,不能让容器变成退出状态,不然你的docker exec –it 会话也会自动退出)

1.3下面来举例使用docker exec来运行容器里面的python程序

Docker容器操作_docker_03

这个时候你在上面python解释器中输入exit(). 会退出但是不会把这个容器的状态改成退出。有时候,我们还可以通过docker exec命令来查询IP地址,前提是这个容器已经安装了ip这个程序并添加到了系统环境变量。

Docker容器操作_python_04

2停止容器再删除

关于删除容器,我在docker命令学习文章介绍过。这里举例一个很常见的场景,有时候我们直接通过docker rm 容器名称会报无法删除,需要先停止容器然后再删除。

2.1建议用docker ps –a 来代替docker container ls –a命令

Docker容器操作_python_05

Docker容器操作_python_06

Docker容器操作_后台运行_07

上面两个容器都显示退出状态,那么就可以直接rm命令删除容器。有时候我们退出状态的容器有很多,而且我们想一次命令删除那些退出状态的,怎么实现呢。

3运行容器并且给容器取名

我们前面讲docker run都是自动生成容器名称,而且操作容器都是根据容器ID,其实操作容器也可以根据容器的名称。

Docker容器操作_后台运行_08

图中参数—name=自定义容器名称,而且演示了可以根据容器自定义名称来删除容器。这个参数用处好多,例如一个docker服务器上,多个人使用,我们就可以通过—name来区分那些容器是谁在使用,避免误操作,特别是删除了别人的容器。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论