docker 删除包含关键字的镜像_Docker(4):容器使用

Docker提供强大的命令行工具docker来管理你的容器,我们来看如何用它来管理容器,先查看容器管理帮助:

[root@node1 ~]# docker container --helpUsage:docker container COMMANDManage containersOptions: --help Print usageCommands: attach Attach to a running container commit Create a new image from a container's changes cp Copy files/folders between a container and the local filesystem create Create a new container diff Inspect changes to files or directories on a container's filesystem exec Run a command in a running container export Export a container's filesystem as a tar archive inspect Display detailed information on one or more containers kill Kill one or more running containers logs Fetch the logs of a container ls List containers pause Pause all processes within one or more containers port List port mappings or a specific mapping for the container prune Remove all stopped containers rename Rename a container restart Restart one or more containers rm Remove one or more containers run Run a command in a new container start Start one or more stopped containers stats Display a live stream of container(s) resource usage statistics stop Stop one or more running containers top Display the running processes of a container unpause Unpause all processes within one or more containers update Update configuration of one or more containers wait Block until one or more containers stop, then print their exit codesRun 'docker container COMMAND --help' for more information on a command.

docker为了便捷操作和兼容以前版本的命令,docker container命令的大部分参数在以前是直接不需要container关键字的,现在依然有效,所以上述命令我们可以直接活力container关键字。参数作用见后面的详细描述,参数后面可接的子参数,可以通过docker container COMMAND --help来查询,下面我们只讲常用操作。

容器管理

1. 创建容器

拉取镜像(可选,若镜像不存在,docker run时也会自动拉取),此处以centos镜像为例

[root@node1 ~]# docker pull centos:latest

创建容器(交互式)

[root@node1 ~]# docker run -it centos:latest /bin/bash[root@8e1ffd77d3ba /]#
  • -i:允许你对容器内的标准输入 (STDIN) 进行交互
  • -t:在新容器内指定一个tty终端
  • centos:latest:镜像名
  • /bin/bash:交互命令

上面即创建(运行)了一个centos的容器,运行命令为/bin/bash,此时已通过交互参数进入到容器中。退出可使用exit或Ctrl+d。

创建容器(后台式)

[root@node1 ~]# docker run -d --name test centos:latest tailf /var/log/lastlog2886e49b88098325c98c7e2edf28aa6bf767795fd1a2dd411f5f0aa9d7333983[root@node1 ~]#
  • -d:以后台服务(daemon)方式创建容器
  • –name:容器名

类似后台服务,你需要给容器一个可以不停执行的命令,此时容器会在后台运行,如果命令结束,容器也会退出并停止。你可以通过查看命令来找到你创建的容器。

2. 查看容器

查看正在运行的容器

[root@node1 ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES2886e49b8809 centos:latest "tailf /var/log/last…" About a minute ago Up About a minute test

查看所有容器

[root@node1 ~]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES8667cfc10391 centos:latest "tailf /var/log/mess" 4 seconds ago Exited (1) 3 seconds ago sleepy_poincare2886e49b8809 centos:latest "tailf /var/log/last…" 2 minutes ago Up 2 minutes test

所有容器包含所有状态的容器,包括创建、运行、停止等。

查看容器日志

[root@node1 ~]# docker logs test

3. 停止容器

[root@node1 ~]# docker stop testtest[root@node1 ~]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES8667cfc10391 centos:latest "tailf /var/log/mess" 2 minutes ago Exited (1) 2 minutes ago sleepy_poincare2886e49b8809 centos:latest "tailf /var/log/last…" 4 minutes ago Exited (137) 32 seconds ago test

后面接容器名或容器ID都可以

4. 启动/重启容器

  • 启动
[root@node1 ~]# docker start testtest[root@node1 ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES2886e49b8809 centos:latest "tailf /var/log/last…" 5 minutes ago Up 3 seconds test
  • 重启
[root@node1 ~]# docker restart testtest[root@node1 ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES2886e49b8809 centos:latest "tailf /var/log/last…" 6 minutes ago Up 5 seconds test

5. 删除容器

docker默认只能删除停止状态的容器

[root@node1 ~]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES8667cfc10391 centos:latest "tailf /var/log/mess" 6 minutes ago Exited (1) 6 minutes ago sleepy_poincare2886e49b8809 centos:latest "tailf /var/log/last…" 8 minutes ago Up 2 minutes test[root@node1 ~]# docker rm sleepy_poincaresleepy_poincare[root@node1 ~]# docker rm testError response from daemon: You cannot remove a running container 2886e49b88098325c98c7e2edf28aa6bf767795fd1a2dd411f5f0aa9d7333983. Stop the container before attempting removal or force remove

可以先停止容器,再删除。

如果需要强制删除运行中的容器,直接加参数’-f’或’–force’即可

[root@node1 ~]# docker rm -f testtest[root@centos-vm7 ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

6. 其它常用操作

执行命令

  • 非交互式
[root@node1 ~]# docker exec test cat /etc/hosts127.0.0.1localhost::1localhost ip6-localhost ip6-loopbackfe00::0ip6-localnetff00::0ip6-mcastprefixff02::1ip6-allnodesff02::2ip6-allrouters172.18.0.112886e49b8809
  • 交互式
[root@node1 ~]# docker exec -it test /bin/bash2886e49b8809#

查看容器详细参数和信息

[root@node1 ~]# docker inspect test

会以json格式输出所有与容器相关的参数,因为过长此处不列。

查看容器内进程占用

[root@node1 ~]# docker top test

和top命令类似,输出进程详细信息

文件拷贝

在宿主机和容器之间拷贝文件或目录,以下列出两种方向的拷贝。

[root@node1 ~]# docker cp test:/etc/hosts /root/[root@node1 ~]# docker cp /etc/hosts test:/root/

查看docker状态信息

[root@node1 ~]# docker info

如果命令输出正确,则可判定docker服务已正常启动。

81dca71a679c69494084fd5b7833f3d6.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值