天天看点

Cloud ❀ Docker的基础操作命令

文章目录

  • ​​1、Docker信息查询​​
  • ​​(1)版本信息​​
  • ​​(2)详细信息​​
  • ​​(3)帮助命令​​
  • ​​2、镜像命令​​
  • ​​(1)本地镜像查看​​
  • ​​(2)镜像搜索​​
  • ​​(3)镜像拉取​​
  • ​​(4)镜像删除​​
  • ​​3、容器命令​​
  • ​​(1)新建并启动容器​​
  • ​​(2)列出所有运行的容器​​
  • ​​(3)退出容器​​
  • ​​(4)启动容器​​
  • ​​(5)重启容器​​
  • ​​(6)停止容器​​
  • ​​(7)强制停止容器​​
  • ​​(8)删除已经停止的容器​​

1、Docker信息查询

(1)版本信息

[root@localhost ~]# docker version
Client: Docker Engine - Community     /客户端版本信息
 Version:           20.10.5
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        55c4c88
 Built:             Tue Mar  2 20:17:04 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community   /服务端版本信息
 Engine:
  Version:          20.10.5
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       363e9a8
  Built:            Tue Mar  2 20:15:27 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.3
  GitCommit:        269548fa27e0089a8b8278fc4fc781d7f65a939b
 runc:
  Version:          1.0.0-rc92
  GitCommit:        ff819c7e9184c13b7c2607fe6c30ae19403a7aff
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0      

(2)详细信息

[root@localhost ~]# docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Build with BuildKit (Docker Inc., v0.5.1-docker)

Server:
 Containers: 2
  Running: 0
  Paused: 0
  Stopped: 2
 Images: 1
 Server Version: 20.10.5
 Storage Driver: overlay2
  Backing Filesystem: xfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 269548fa27e0089a8b8278fc4fc781d7f65a939b
 runc version: ff819c7e9184c13b7c2607fe6c30ae19403a7aff
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 4.18.0-193.el8.x86_64        /宿主机内核版本;
 Operating System: CentOS Linux 8 (Core)      /宿主机操作系统;
 OSType: linux                  /宿主机操作系统类型;
 Architecture: x86_64             /宿主机体系结构;
 CPUs: 4                    /宿主机核数;
 Total Memory: 3.664GiB             /宿主机内存;
 Name: localhost.localdomain            /宿主机主机名称;
 ID: APEZ:LIL2:ZACW:QKAG:6JXY:IGVV:ZKML:KJKP:J7T6:USVO:D2G3:536H
 Docker Root Dir: /var/lib/docker         /Docker根目录路径;
 Debug Mode: false                /Debug模式;
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Registry Mirrors:                /注册表镜使用为阿里源;
  https://sta7qavr.mirror.aliyuncs.com/
 Live Restore Enabled: false      

(3)帮助命令

[root@localhost ~]# docker --help
Usage:  docker [OPTIONS] COMMAND

[root@localhost ~]# man docker      

2、镜像命令

(1)本地镜像查看

[root@localhost ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
镜像仓库源   镜像标签    镜像ID    创建时间    镜像大小
hello-world   latest    bf756fb1ae65   14 months ago   13.3kB      
  • -a:列出本地所有镜像,包含中间映像层;
  • -q:仅显示镜像ID;
  • –digests:显示镜像摘要信息;
  • –no-trunc:显示完整的镜像信息;

(2)镜像搜索

[root@localhost ~]# docker search centos  
NAME                 DESCRIPTION                               STARS     OFFICIAL   AUTOMATED
名称            描述信息                  点赞数量    官方推荐    是否自动安装
centos                 The official build of CentOS.           6439      [OK]      

镜像搜索命令等同于前往https://hub.docker.com/网页内搜索镜像名称,其返回信息与Linux内执行命令结果一致,选择需要的镜像点击即可获取到对应的详细信息;

Cloud ❀ Docker的基础操作命令

点击具体的centos镜像,网页内置了镜像爬取命令,复制到Linux系统执行即可完成镜像爬取,如果需要下载特定的centos版本,此时需要查看当前网页支持的特定centos版本具体为哪些;

Cloud ❀ Docker的基础操作命令

(3)镜像拉取

[root@localhost ~]# docker pull centos      /爬取最新版本的centos镜像;
Using default tag: latest
latest: Pulling from library/centos
7a0437f04f83: Pull complete 
Digest: sha256:5528e8b1b1719d34604c87e11dcd1c0a20bedf46e83b5632cdeac91b8c04efc1
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest

[root@localhost ~]# docker pull centos:7.9.2009 /爬取下载centos 7.9.2009版本的centos镜像
需要查看网页内特定的版本是否存在才可以下载,否则下载无效;

[root@localhost ~]# docker images
REPOSITORY    TAG        IMAGE ID       CREATED         SIZE
centos        latest     300e315adb2f   2 months ago    209MB
centos        7.9.2009   8652b9f0cb4c   3 months ago    204MB
hello-world   latest     bf756fb1ae65   14 months ago   13.3kB      

(4)镜像删除

[root@localhost ~]# docker images
REPOSITORY    TAG        IMAGE ID       CREATED         SIZE
centos        latest     300e315adb2f   2 months ago    209MB
centos        7.9.2009   8652b9f0cb4c   3 months ago    204MB
hello-world   latest     bf756fb1ae65   14 months ago   13.3kB
[root@localhost ~]# docker rmi hello-world
Untagged: hello-world:latest
Untagged: hello-world@sha256:7e02330c713f93b1d3e4c5003350d0dbe215ca269dd1d84a4abc577908344b30
Deleted: sha256:bf756fb1ae65adf866bd8c456593cd24beb6a0a061dedf42b26a993176745f6b
Deleted: sha256:9c27e219663c25e0f28493790cc0b88bc973ba3b1686355f221c38a36978ac63      

3、容器命令

(1)新建并启动容器

[root@localhost ~]# docker run --help
Usage:  docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
--name:指定容器名称;
-d:后台运行容器,并返回容器ID;
-i:以交互模式运行容器;
-t:为容器分配一个伪输入终端;
-P:随机端口映射;
-p:指定端口映射;
端口映射有四种格式:
IP:HOST PORT:CONTAINER PORT
IP::CONTAINER PORT
HOST PORT:CONTAINER PORT
CONTAINER PORT      

(2)列出所有运行的容器

[root@localhost ~]# docker run -it 300e315adb2f
[root@6b0a01d8c5e0 /]#            /进入容器后,命令前缀回显容器ID;

[root@localhost ~]# docker ps           /显示当前运行状态的容器;
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
容器ID    镜像      命令      创建时间  运行状态  端口    名称
6b0a01d8c5e0   300e315adb2f   "/bin/bash"   About a minute ago   Up About a minute             pensive_brattain      
  • -a:列出当前所有运行过的容器,包含正在运行的容器;
  • -l:列出最近创建的容器;
  • -n:列出最近n个创建的容器;
  • -q:只显示容器ID;
  • –no-trunc:显示完整信息;

(3)退出容器

[root@localhost ~]# docker run -it 300e315adb2f
[root@6b0a01d8c5e0 /]# exit           /容器停止退出;
exit
[root@localhost ~]# docker ps -l
CONTAINER ID   IMAGE         COMMAND    CREATED                  STATUS                              PORTS     NAMES
364722e51f07   hello-world   "/hello"   Less than a second ago   Exited (0) Less than a second ago             silly_shockley

Ctrl+P+Q                    /容器不停止退出;
[root@localhost ~]# docker run -it --name test_zxc centos
[root@7283bd6f0645 /]# (此处按下键盘Ctrl+P+Q)[root@localhost ~]#  
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES
7283bd6f0645   centos    "/bin/bash"   30 seconds ago   Up 29 seconds             test_zxc      

(4)启动容器

[root@localhost ~]# docker start 364722e51f07         /多个容器ID使用空格间隔;
364722e51f07      

(5)重启容器

[root@localhost ~]# docker restart 6b0a01d8c5e0         /多个容器ID使用空格间隔;
6b0a01d8c5e0      

(6)停止容器

[root@localhost ~]# docker stop 364722e51f07        /多个容器ID使用空格间隔;
364722e51f07      

(7)强制停止容器

[root@localhost ~]# docker kill 364722e51f07        /多个容器ID使用空格间隔;
364722e51f07      

(8)删除已经停止的容器

[root@localhost ~]# docker rm 364722e51f07        /多个容器ID使用空格间隔;
364722e51f07

[root@localhost ~]# docker rm -f $(docker ps -aq)       /强制删除某些容器;
7283bd6f0645
6b0a01d8c5e0      

继续阅读