docker常用命令

简介: docker常用命令
  • 重启docker服务  service docker restart
  • 关闭docker服务  service docker stop
  • 开启docker服务  service docker start
  • 查看当前运行的容器:docker ps
  • 查询存在的容器:docker ps -a
  • 删除容器:docker -rm  CONTAINERID
  • 强制删除容器:docker -rm -f  CONTAINERID
  • 不能够删除一个正在运行的容器,会报错。需要先停止容器。
  • 查看镜像:docker images
  • 删除镜像:docker -rmi  IMAGEID  
  • 强制删除镜像:docker -rmi -f  IMAGEID  
  • 利用镜像创建容器:docker run --name centos -itd centos:latest  

注:-i表示让容器的标准输入打开,-t表示分配一个伪终端,-d表示后台启动,要把-i -t -d 放到镜像名字前面,--name指定容器名。

实战

1、docker run centos

首次运行如果本地没有该base image,则会从远端clone一个base images。

[root@MiWiFi-R3L-srv ~]# docker run centos
Unable to find image 'centos:latest' locally
latest: Pulling from library/centos
3c72a8ed6814: Pull complete 
Digest: sha256:76d24f3ba3317fa945743bb3746fbaf3a0b752f10b10376960de01da70685fbd
Status: Downloaded newer image for centos:latest
[root@MiWiFi-R3L-srv ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              latest              0d120b6ccaa8        2 months ago        215MB
hello-world         latest              bf756fb1ae65        10 months ago       13.3kB
[root@MiWiFi-R3L-srv ~]# docker run centos
[root@MiWiFi-R3L-srv ~]# 

docker run  centos 执行完之后centos对应的/bin/bash 就退出了。

交互式的docker run

  • -i, --interactive                    Keep STDIN open even if not attached
  • -t, --tty                            Allocate a pseudo-TTY
[root@MiWiFi-R3L-srv ~]# docker run -it centos
[root@de7d5f1cad4e /]# ls -l
total 0
lrwxrwxrwx.   1 root root   7 May 11  2019 bin -> usr/bin
drwxr-xr-x.   5 root root 360 Nov  3 14:23 dev
drwxr-xr-x.   1 root root  66 Nov  3 14:23 etc
drwxr-xr-x.   2 root root   6 May 11  2019 home
lrwxrwxrwx.   1 root root   7 May 11  2019 lib -> usr/lib
lrwxrwxrwx.   1 root root   9 May 11  2019 lib64 -> usr/lib64
drwx------.   2 root root   6 Aug  9 21:40 lost+found
drwxr-xr-x.   2 root root   6 May 11  2019 media
drwxr-xr-x.   2 root root   6 May 11  2019 mnt
drwxr-xr-x.   2 root root   6 May 11  2019 opt
dr-xr-xr-x. 308 root root   0 Nov  3 14:23 proc
dr-xr-x---.   2 root root 162 Aug  9 21:40 root
drwxr-xr-x.  11 root root 163 Aug  9 21:40 run
lrwxrwxrwx.   1 root root   8 May 11  2019 sbin -> usr/sbin
drwxr-xr-x.   2 root root   6 May 11  2019 srv
dr-xr-xr-x.  13 root root   0 Oct 29 14:24 sys
drwxrwxrwt.   7 root root 145 Aug  9 21:40 tmp
drwxr-xr-x.  12 root root 144 Aug  9 21:40 usr
drwxr-xr-x.  20 root root 262 Aug  9 21:40 var
[root@de7d5f1cad4e /]# 

此时使用docker container ls 可以看到正在运行的image

2、查看centos容器

[root@MiWiFi-R3L-srv ~]# docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@MiWiFi-R3L-srv ~]# 
[root@MiWiFi-R3L-srv ~]# 
[root@MiWiFi-R3L-srv ~]# docker container ls -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
7af01d5e9dda        centos              "/bin/bash"         13 seconds ago      Exited (0) 12 seconds ago                       happy_sinoussi
9514cf1bd842        centos              "/bin/bash"         52 seconds ago      Exited (0) 51 seconds ago                       sweet_curie
0edb374d25bb        hello-world         "/hello"            24 hours ago        Exited (0) 24 hours ago                         bold_burnell

20201103223556815.png3、删除退出的容器

docker container的命令列表,使用rm

root@MiWiFi-R3L-srv ~]# docker container 
Usage:  docker container COMMAND
Manage containers
Commands:
  attach      Attach local standard input, output, and error streams 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 codes
Run 'docker container COMMAND --help' for more information on a command.

20201103224001593.png或者docker rm de7 ,默认删除的container

注意不要加上参数 i 就是 删除image。

docker rmi {id}

如何批量删除已经退出的container?

[root@MiWiFi-R3L-srv ~]# docker container ls -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
922dd27b0faf        centos              "/bin/bash"         10 seconds ago      Exited (0) 9 seconds ago                        mystifying_khorana
af024051dd04        centos              "/bin/bash"         13 seconds ago      Exited (0) 12 seconds ago                       inspiring_mendeleev
3c91318afd1e        centos              "/bin/bash"         16 seconds ago      Exited (0) 15 seconds ago                       modest_johnson
7af01d5e9dda        centos              "/bin/bash"         21 minutes ago      Exited (0) 21 minutes ago                       happy_sinoussi
9514cf1bd842        centos              "/bin/bash"         21 minutes ago      Exited (0) 21 minutes ago                       sweet_curie
0edb374d25bb        hello-world         "/hello"            24 hours ago        Exited (0) 24 hours ago                         bold_burnell

使用-q参数列出containerId

root@MiWiFi-R3L-srv ~]# docker container ls -aq
922dd27b0faf
af024051dd04
3c91318afd1e
7af01d5e9dda
9514cf1bd842
0edb374d25bb

如果你会使用awk,不使用这个参数完全可以,请看:

[root@MiWiFi-R3L-srv ~]# docker container ls -a|grep -v CONTAINER|awk '{print $1}'
922dd27b0faf
af024051dd04
3c91318afd1e
7af01d5e9dda
9514cf1bd842
0edb374d25bb

删除所有已经退出的container,世界清静了。

[root@MiWiFi-R3L-srv ~]# docker rm $(docker container ls -aq)
922dd27b0faf
af024051dd04
3c91318afd1e
7af01d5e9dda
9514cf1bd842
0edb374d25bb
[root@MiWiFi-R3L-srv ~]# docker container ls -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@MiWiFi-R3L-srv ~]# 

这样把正在run的container也干掉了,显然是不行的。例如这样如何只干掉Exited的container呢?

-f 过滤状态,当然shell也可以实现

root@MiWiFi-R3L-srv ~]# docker container ls -f "status=exited"
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
e03dda244d80        centos              "/bin/bash"         2 minutes ago       Exited (0) 2 minutes ago                       jolly_euclid
590c5bd090d7        centos              "/bin/bash"         2 minutes ago       Exited (0) 2 minutes ago                       sweet_hertz
707300b53120        centos              "/bin/bash"         2 minutes ago       Exited (0) 2 minutes ago                       pedantic_liskov
dbf30d595e76        centos              "/bin/bash"         2 minutes ago       Exited (0) 2 minutes ago                       goofy_leakey
[root@MiWiFi-R3L-srv ~]# docker container ls -f "status=exited" -q
e03dda244d80
590c5bd090d7
707300b53120
dbf30d595e76
目录
相关文章
|
2月前
|
存储 Java Linux
【Docker】(2)还在浏览网页寻找Docker命令?本文全面列举与使用Docker里的各个命令!想要什么命令直接从本文拿!
docker有着比VM更少的抽象层 由于Docker不需要Hypervisor实现硬件资源虚拟化,运行在Docker容器上的程序直接使用的都是实际物理机的硬件资源 因此在CPU、内存利用率上Docker将会在效率上有明显优势 docker利用的时宿主机的内核,而不需要加载操作系统OS内核 当新建一个容器时,Docker不需要和虚拟机一样重新加载一个操作系统内核 进而避免引寻、加载操作系统内核返回等比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载OS,返回新建过程时分钟级别的。 而Docker由于直接利用宿主机的操作系统,则省略了返回过程,因此新建一个Docker容器只需
375 124
|
5月前
|
安全 Unix Linux
Docker中授权普通用户使用docker命令以及解决无权限访问/var/run/docker.sock错误。
通过上述步骤,可以有效解决普通用户无法使用Docker命令的问题,同时处理 `/var/run/docker.sock`权限错误。这样的设置不仅方便用户使用Docker提供的各项服务,同时还能保护系统的安全性。在进行此类配置更改时,请确保理解每一步骤的作用及潜在的安全风险,尤其是在修改文件权限时。在实际的操作中,始终应该努力保持系统的最低必要权限,避免过度放宽权限,这是保障系统安全的一个重要方针。
1584 75
|
6月前
|
Docker 容器
Docker run命令-p参数详解
本文介绍Docker端口映射的基础用法。通过`docker run -p <宿主机端口>:<容器端口>`实现端口映射,例如`-p 5000:80`将宿主机5000端口映射到容器80端口,外部访问宿主机5000端口时流量会转发至容器内部的80端口。示例命令中,`-d`用于后台运行,`--restart=always`确保容器自动重启,`--name`指定容器名称。部署完成后可通过`http://服务器IP地址:5000`验证服务是否正常运行。
|
5月前
|
Docker 容器
熟悉Docker容器管理命令:start、stop与restart详细使用指南
掌握这些Docker容器管理命令对于维护应用程序的正常运行至关重要。在实际操作中,应注意容器配置、关联资源以及日志等信息,确保各项操作都能够顺畅并且安全地执行。
649 0
|
7月前
|
网络协议 Ubuntu Docker
Docker Compose--命令说明
Docker Compose--命令说明
1135 30
|
7月前
|
Ubuntu Linux 开发者
常用的Docker命令:docker_cmd_sheet
以上就是一些常用的Docker命令,希望能帮助你更好地驾驭这个强大的工具。记住,Docker就像是一个魔法咒语,只有真正理解和熟练使用,才能发挥出它的最大魔力。
167 22
|
7月前
|
Shell 应用服务中间件 nginx
docker 镜像的部分常用命令
docker镜像常用命令
239 16
|
7月前
|
关系型数据库 MySQL Docker
|
7月前
|
关系型数据库 MySQL 数据库
Docker 安装常用软件相关命令
本文介绍了在CentOS 7.9系统上安装Docker的详细步骤,包括添加阿里云镜像源、安装Docker及相关组件、启动服务以及配置镜像加速。同时,还展示了如何通过Docker安装MySQL 5.7版本数据库,涵盖拉取镜像、创建数据目录、运行容器及配置挂载点等操作,并提供验证安装成功的命令和截图。适合需要部署Docker与MySQL环境的用户参考。
395 5
|
12月前
|
NoSQL 关系型数据库 MySQL
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
425 56
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解