Docker 04 容器命令

发布时间:2022-06-28 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Docker 04 容器命令脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

运行容器

docker run

语法

docker run [参数] 镜像名

参数

  • --name:指定容器的名称,如果正在运行该名称的容器,会报错。
  • -d:后台方式运行。
  • -it:使用交互方式运行,可以进入容器查看内容。
  • -p:指定容器的端口,如:-p 8080:8080。还可以有以下写法:
    • -p ip:主机端口:容器端口
    • -p 主机端口:容器端口
    • -p 容器端口
  • -p:随机指定端口。

示例

运行 centos 镜像

[root@sail ~]# docker run -it centos /bin/bash
Unable to find image 'centos:latest' locally # 检索本地镜像,发现没有该镜像,则去仓库中搜索。
latest: Pulling from library/centos # 开始从仓库中拉取
a1d0c7532777: Pull complete 
Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
Status: Downloaded newer image for centos:latest
[root@81c83ea42dc0 /]# ls # 由于是以交互方式运行,且进入 /bin/bash 中,此时的路径即为 centos 容器中的 /bin/bash
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

由此可以看出,容器就是一个微型的 Linux 系统。它只保留了最核心的功能和最基本的命令,方便进行操作。

查看容器

docker ps

语法

docker ps [参数]

参数

  • -a:查看所有容器(包括正在运行的和已经停止的)。
  • -n:显示最近创建的容器,设置显示个数。
  • -q:只显示容器的编号。

演示

查看正在运行的容器

[root@sail ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED              STATUS              PORTS     NAMES
1aaf76d85b9e   centos    "/bin/bash"   About a minute ago   Up About a minute             intelligent_proskuriakova

查看所有容器

[root@sail ~]# docker ps -a
CONTAINER ID   IMAGE          COMMAND       CREATED              STATUS                      PORTS     NAMES
1aaf76d85b9e   centos         "/bin/bash"   About a minute ago   Up About a minute                     intelligent_proskuriakova
7ac04abd5a1f   centos         "/bin/bash"   3 minutes ago        Exited (0) 3 minutes ago              elegant_euler
bbb87116d848   centos         "/bin/bash"   8 minutes ago        Exited (0) 3 minutes ago              focused_boyd
81c83ea42dc0   centos         "/bin/bash"   28 minutes ago       Exited (0) 19 minutes ago             zealous_proskuriakova
52918b3ce8f6   feb5d9fea6a5   "/hello"      11 days ago          Exited (0) 11 days ago                friendly_ramanujan

显示最近创建的 2 个容器

[root@sail ~]# docker ps -a -n=2
CONTAINER ID   IMAGE     COMMAND       CREATED       STATUS                   PORTS     NAMES
1aaf76d85b9e   centos    "/bin/bash"   5 hours ago   Up 5 hours                         intelligent_proskuriakova
7ac04abd5a1f   centos    "/bin/bash"   5 hours ago   Exited (0) 5 hours ago             elegant_euler

只显示容器的 ID

[root@sail ~]# docker ps -aq
1aaf76d85b9e
7ac04abd5a1f
bbb87116d848
81c83ea42dc0
52918b3ce8f6

退出容器

exit

进入容器后,可以使用 exit 退出

[root@sail ~]# docker run -it centos /bin/bash
[root@7ac04abd5a1f /]# exit
exit
[root@sail ~]# 
[root@sail ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

由此可见,这样退出后容器也会停止。

Ctrl + P + Q

如果想退出后容器不停止,可以使用 Ctrl + P + Q 快捷键退出。

[root@sail ~]# docker run -it centos /bin/bash
[root@1aaf76d85b9e /]# [root@sail ~]# docker ps # 此时即为使用 Ctrl + P + Q 快捷键的效果
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS         PORTS     NAMES
1aaf76d85b9e   centos    "/bin/bash"   8 seconds ago   Up 8 seconds             intelligent_proskuriakova

删除容器

docker rm

语法

docker rm [参数] 容器 [容器...]

参数

  • -f:强制删除。

示例

删除指定容器(不能删除正在运行的容器)

[root@sail ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED       STATUS       PORTS     NAMES
1aaf76d85b9e   centos    "/bin/bash"   5 hours ago   Up 5 hours             intelligent_proskuriakova
[root@sail ~]# docker rm 1aaf76d85b9e
Error response from daemon: You cannot remove a running container 1aaf76d85b9ee5002411c1ea390fca05819f19dc400e85127731d37455cb0acc. Stop the container before attempting removal or force remove

强制删除指定容器

[root@sail ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED       STATUS       PORTS     NAMES
1aaf76d85b9e   centos    "/bin/bash"   5 hours ago   Up 5 hours             intelligent_proskuriakova
[root@sail ~]# docker rm -f 1aaf76d85b9e
1aaf76d85b9e

删除所有容器。先使用 docker ps -aq 获取所有容器的 ID,再调用 docker rm -f 递归删除。

[root@sail ~]# docker rm -f $(docker ps -aq)
7ac04abd5a1f
bbb87116d848
81c83ea42dc0
52918b3ce8f6
[root@sail ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

删除所有容器。使用管道符 | 获取 Docker 相关的所有容器 ID 并使用 docker rm -f 删除。

[root@sail ~]# docker ps -a -q|xargs docker rm -f
2e61c4578eac
0ebe32ddfa50

启动容器

docker start

示例

[root@sail ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS                     PORTS     NAMES
569026bc0955   centos    "/bin/bash"   33 seconds ago   Exited (0) 7 seconds ago             centos03
[root@sail ~]# docker start 569026bc0955 
569026bc0955
[root@sail ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND       CREATED              STATUS              PORTS     NAMES
569026bc0955   centos    "/bin/bash"   About a minute ago   Up 1 second                   centos03

停止容器

docker stop

示例

[root@sail ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND       CREATED              STATUS              PORTS     NAMES
569026bc0955   centos    "/bin/bash"   About a minute ago   Up 1 second                   centos03
[root@sail ~]# docker stop 569026bc0955
569026bc0955
[root@sail ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS                      PORTS     NAMES
569026bc0955   centos    "/bin/bash"   4 minutes ago   Exited (0) 38 seconds ago             centos03

重启容器

docker restart

示例

[root@sail ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS                      PORTS     NAMES
569026bc0955   centos    "/bin/bash"   4 minutes ago   Exited (0) 38 seconds ago             centos03
[root@sail ~]# docker restart 569026bc0955
569026bc0955
[root@sail ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS          PORTS     NAMES
569026bc0955   centos    "/bin/bash"   6 minutes ago   Up 20 seconds             centos03

杀掉容器

docker kill

示例

[root@sail ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS          PORTS     NAMES
569026bc0955   centos    "/bin/bash"   6 minutes ago   Up 20 seconds             centos03
[root@sail ~]# docker kill 569026bc0955
569026bc0955
[root@sail ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS                        PORTS     NAMES
569026bc0955   centos    "/bin/bash"   8 minutes ago   Exited (137) 15 seconds ago             centos03

脚本宝典总结

以上是脚本宝典为你收集整理的Docker 04 容器命令全部内容,希望文章能够帮你解决Docker 04 容器命令所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: