docker常见命令

1.帮助命令

1.docker version #显示docker的版本信息
在这里插入图片描述

2.docker info # 显示docker额系统信息,包括镜像和容器数量
在这里插入图片描述
3. docker 命令 --help

官网文档地址
https://docs.docker.com/engine/reference/commandline/docker/
docker 镜像地址
https://hub.docker.com/

2.镜像命令

1.docker images

列出本地镜像
在这里插入图片描述

REPOSITORY	镜像的仓库源
TAG		    镜像的标签
IMAGE ID    镜像的id
CREATED 	镜像的创建时间
SIZE		镜像的大小

Options:
  -a, --all             Show all images (default hides intermediate images)
      --digests         Show digests
  -f, --filter filter   Filter output based on conditions provided
      --format string   Pretty-print images using a Go template
      --no-trunc        Don't truncate output
  -q, --quiet           Only show image IDs
  

2.docker search

从Docker Hub查找镜像

[root@l4 containerd]# docker search mysql
NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   11439     [OK]       
mariadb                           MariaDB Server is a high performing open sou…   4343      [OK]       
mysql/mysql-server                Optimized MySQL Server Docker images. Create…   848                  [OK]
phpmyadmin                        phpMyAdmin - A web interface for MySQL and M…   328       [OK]       
centos/mysql-57-centos7           MySQL 5.7 SQL database server                   91                   
mysql/mysql-cluster               Experimental MySQL Cluster Docker images. Cr…   88                   
centurylink/mysql                 Image containing mysql. Optimized to be link…   59                   [OK]
databack/mysql-backup             Back up mysql databases to... anywhere!         50                   
prom/mysqld-exporter                                                              42                   [OK]
deitch/mysql-backup               REPLACED! Please use http://hub.docker.com/r…   41                   [OK]
tutum/mysql                       Base docker image to run a MySQL database se…   35                   
linuxserver/mysql                 A Mysql container, brought to you by LinuxSe…   31                   
schickling/mysql-backup-s3        Backup MySQL to S3 (supports periodic backup…   31                   [OK]
mysql/mysql-router                MySQL Router provides transparent routing be…   22                   
centos/mysql-56-centos7           MySQL 5.6 SQL database server                   20                   
arey/mysql-client                 Run a MySQL client from a docker container      18                   [OK]
fradelg/mysql-cron-backup         MySQL/MariaDB database backup using cron tas…   16                   [OK]
yloeffler/mysql-backup            This image runs mysqldump to backup data usi…   7                    [OK]
genschsa/mysql-employees          MySQL Employee Sample Database                  7                    [OK]
openshift/mysql-55-centos7        DEPRECATED: A Centos7 based MySQL v5.5 image…   6                    
devilbox/mysql                    Retagged MySQL, MariaDB and PerconaDB offici…   3                    
jelastic/mysql                    An image of the MySQL database server mainta…   2                    
ansibleplaybookbundle/mysql-apb   An APB which deploys RHSCL MySQL                2                    [OK]
centos/mysql-80-centos7           MySQL 8.0 SQL database server                   1                    
widdpim/mysql-client              Dockerized MySQL Client (5.7) including Curl…   1                    [OK]
[root@l4 containerd]#  

搜索mysql镜像,并且STAR 大于3000
在这里插入图片描述

Options:
  -f, --filter filter   Filter output based on conditions provided
      --format string   Pretty-print search using a Go template
      --limit int       Max number of search results (default 25)
      --no-trunc        Don't truncate output

3.docker pull

Using default tag: latest  #如果不写tag,默认下载最新版本
latest: Pulling from library/mysql 
a330b6cecb98: Pull complete #分层下载, doccker images 的核心 联合文件系统
9c8f656c32b8: Pull complete 
88e473c3f553: Pull complete 
062463ea5d2f: Pull complete 
daf7e3bdf4b6: Pull complete 
1839c0b7aac9: Pull complete 
cf0a0cfee6d0: Pull complete 
1b42041bb11e: Pull complete 
10459d86c7e6: Pull complete 
b7199599d5f9: Pull complete 
1d6f51e17d45: Pull complete 
50e0789bacad: Pull complete 
Digest: sha256:99e0989e7e3797cfbdb8d51a19d32c8d286dd8862794d01a547651a896bcf00c  #签名
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest  #真实地址

带有tag下载
在这里插入图片描述
4.docker rmi
docker rmi -f 镜像id

[root@l4 containerd]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
mysql         5.7       1d7aba917169   2 weeks ago    448MB
mysql         latest    0716d6ebcc1a   2 weeks ago    514MB
ubuntu        latest    fb52e22af1b0   3 weeks ago    72.8MB
hello-world   latest    d1165f221234   6 months ago   13.3kB
[root@l4 containerd]# docker rmi -f 1d7aba917169
Untagged: mysql:5.7
Untagged: mysql@sha256:d9b934cdf6826629f8d02ea01f28b2c4ddb1ae27c32664b14867324b3e5e1291
Deleted: sha256:1d7aba9171693947d53f474014821972bf25d72b7d143ce4af4c8d8484623417
Deleted: sha256:94ebbead5c58282fef91cc7d0fb56e4006a72434b4a6ae2cd5be98f369cb8c21
Deleted: sha256:989da5efad29ec59bd536cd393d277bc777f8b9b34b8e3ad9593a4b0a83b40f4
Deleted: sha256:7457ee6817c678da3cb383d27a3d79d5f3f25fbcb92958d5e8d5709e7631e23c
Deleted: sha256:fe7dac53adebe33519b4e4fc577bfcddd7372cc313c35fae681fc82fb325fdc0
[root@l4 containerd]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
mysql         latest    0716d6ebcc1a   2 weeks ago    514MB
ubuntu        latest    fb52e22af1b0   3 weeks ago    72.8MB
hello-world   latest    d1165f221234   6 months ago   13.3kB
[root@l4 containerd]# 

删除全部的镜像
docker rmi -f $(docker images -aq)

[root@l4 containerd]# 
[root@l4 containerd]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
mysql         latest    0716d6ebcc1a   2 weeks ago    514MB
ubuntu        latest    fb52e22af1b0   3 weeks ago    72.8MB
hello-world   latest    d1165f221234   6 months ago   13.3kB
[root@l4 containerd]# docker rmi -f $(docker images -aq)
Untagged: mysql:latest
Untagged: mysql@sha256:99e0989e7e3797cfbdb8d51a19d32c8d286dd8862794d01a547651a896bcf00c
Deleted: sha256:0716d6ebcc1a61c5a296fcb187e71f93531e510d4e4400267e2e502103d0194c
Deleted: sha256:dc895a08d34b5b81fc4ca087d2ad52cbe1a2050e249040a22c5f2eabf2f384ba
Deleted: sha256:660229dcf1a452460127a498b9f3f161e7ca94507353ded8af92fe9ab55a32ed
Deleted: sha256:6b26fa2fc4e2150aee2f2557bcbfaf727c00d1650ea08d8ed3fe7c8a6caaa88b
Deleted: sha256:c20303553d5d2594e1655000089b12eca8db7afdcb068cc35fc47ebfe3dab5fb
Deleted: sha256:77a3d69619bfea7b30831a41a32bbf61756c9f95513743deea8daa9a83ff2646
Deleted: sha256:9578f1c7f00f400b3f71be0ee721cbc0892e05e454323e1a74a6e56ae1dafdab
Deleted: sha256:335f9f9fbbd8977530806ed5439a2b67f1c06117f752a2598698de4ae304c516
Deleted: sha256:e15ed274d47a7d6ddff0afcc628143254c69128a9d2379900ebb519e7c6c2bce
Deleted: sha256:51930b767631b583738d75519bed2a8cc757c5b0c904617972386462deee2ca7
Deleted: sha256:43bd682fb659113a8ab168032d8f82dee86d2cee5cee2e146af6c3a6f9ccef18
Deleted: sha256:1957f1873568b423369e0299de6c9b75a111fea807b0c07506ba45d075ca8f80
Deleted: sha256:d000633a56813933cb0ac5ee3246cf7a4c0205db6290018a169d7cb096581046
Untagged: ubuntu:latest
Untagged: ubuntu@sha256:9d6a8699fb5c9c39cf08a0871bd6219f0400981c570894cd8cbea30d3424a31f
Deleted: sha256:fb52e22af1b01869e23e75089c368a1130fa538946d0411d47f964f8b1076180
Deleted: sha256:4942a1abcbfa1c325b1d7ed93d3cf6020f555be706672308a4a4a6b6d631d2e7
Untagged: hello-world:latest
Untagged: hello-world@sha256:61bd3cb6014296e214ff4c6407a5a7e7092dfa8eefdbbec539e133e97f63e09f
Deleted: sha256:d1165f2212346b2bab48cb01c1e39ee8ad1be46b87873d9ca7a4e434980a7726
[root@l4 containerd]# docker images
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE
[root@l4 containerd]# 

3.容器命令

1.docker run 启动容器命令

在这里插入图片描述

docker run -it centos /bin/bash 启动并进入容器

[root@l4 containerd]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
centos       latest    5d0da3dc9764   5 days ago   231MB
[root@l4 containerd]# docker run -it centos /bin/bash

-it就等于 -i和-t,这两个参数的作用是,为该docker创建一个伪终端,这样就可以进入到容器的交互模式?(也就是直接进入到容器里面)

后面的/bin/bash的作用是表示载入容器后运行bash ,docker中必须要保持一个进程的运行,要不然整个容器启动后就会马上kill itself,这个/bin/bash就表示启动容器后启动bash

在这里插入图片描述

2.从容器中退回主机

exit 容器停止并退出
ctrl + P+Q 容器不停止退出

[root@bbe14e09004f /]# exit
exit
[root@l4 containerd]# 

3.列出所有运行的容器

docker ps 命令
在这里插入图片描述

[root@l4 containerd]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@l4 containerd]# docker ps -a
CONTAINER ID   IMAGE          COMMAND       CREATED             STATUS                         PORTS     NAMES
bbe14e09004f   centos         "/bin/bash"   5 minutes ago       Exited (0) 3 minutes ago                 zen_carson
a8380072a23d   d1165f221234   "/hello"      About an hour ago   Exited (0) About an hour ago             nervous_darwin
0ea914a9ad08   d1165f221234   "/hello"      About an hour ago   Exited (0) About an hour ago             thirsty_taussig
[root@l4 containerd]# docker ps -aq
bbe14e09004f
a8380072a23d
0ea914a9ad08
[root@l4 containerd]# docker ps -n=1
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS                     PORTS     NAMES
bbe14e09004f   centos    "/bin/bash"   6 minutes ago   Exited (0) 4 minutes ago             zen_carson
[root@l4 containerd]# docker ps -n=2
CONTAINER ID   IMAGE          COMMAND       CREATED             STATUS                         PORTS     NAMES
bbe14e09004f   centos         "/bin/bash"   6 minutes ago       Exited (0) 4 minutes ago                 zen_carson
a8380072a23d   d1165f221234   "/hello"      About an hour ago   Exited (0) About an hour ago             nervous_darwin

4.删除容器

docker rm 容器id #删除指定容器,不能删除正在运行容器,如果要删除 rm -f
docker rm -f $(docker ps -aq)		   #删除所有容器
docker ps  -a  -q | xargs docker rm 	#删除所有容器

5.启动和停止容器

在这里插入图片描述

6.后台启动容器

docker run -d 镜像名称

[root@l4 ~]# docker run -d centos在这里插入图片描述
在这里插入图片描述

7.进入运行容器

1.docker exec -it 容器id /bin/bash,打开新的终端,可以在里操作,常用
在这里插入图片描述
2.docker attach 容器id
如果当前运行代码,是退出不了的
进入容器正在运行的终端,不会启动新的进程
在这里插入图片描述

8.copy容器文件

1.copy容器文件到本地
命令:docker cp 容器id:容器文件路径 本地路径
在这里插入图片描述
2.将本地文件copy到本地
命令:docker cp 本地路径 容器id:容器文件路径
在这里插入图片描述

9.指定端口

-p 是具体指定一个端口

 docker run -d -p 3310:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456  mysql:5.7

-P 随机指定一个端口

 docker run -d -P  --name mysql01 -e MYSQL_ROOT_PASSWORD=123456  mysql:5.7

可以看到随机分配一个端口49154
在这里插入图片描述

还有容器的命令也可以通过docker container 命令实现是等价的
在这里插入图片描述

3.其他命令

1.日志命令

docker logs

-t 显示时间戳
-f 显示日志,如果不加-f 显示日志后直接退出
–taiil number 显示日志条数

[root@l4 ~]# docker logs --help

Usage:  docker logs [OPTIONS] CONTAINER

Fetch the logs of a container

Options:
      --details        Show extra details provided to logs
  -f, --follow         Follow log output
      --since string   Show logs since timestamp (e.g. 2013-01-02T13:23:37Z) or relative (e.g. 42m for 42 minutes)
  -n, --tail string    Number of lines to show from the end of the logs (default "all")
  -t, --timestamps     Show timestamps
      --until string   Show logs before a timestamp (e.g. 2013-01-02T13:23:37Z) or relative (e.g. 42m for 42 minutes)
[root@l4 ~]# 

eg:
自己写一个脚本运行

docker run -d centos /bin/sh -c “while true;do echo ldjjj;sleep 1 ;done”
在这里插入图片描述
通过日志查看
在这里插入图片描述
-t表示时间戳,如果不加-t,在这里插入图片描述
不加 -f,显示后退出
在这里插入图片描述

其他例子:

查看指定时间后的日志,只显示最后10行:

在这里插入图片描述

查看最近1分钟的日志:

在这里插入图片描述

2.查看容器进程

docker top 容器id

[root@l4 ~]# docker top 103f83290eda
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                3921                3902                0                   14:58               ?                   00:00:00            /bin/sh -c while true;do echo ldjjj;sleep 1 ;done
root                8915                3921                0                   15:27               ?                   00:00:00            /usr/bin/coreutils --coreutils-prog-shebang=sleep /usr/bin/sleep 1
[root@l4 ~]# 

3.查看容器元数据

docker inspect 容器id

[root@l4 ~]# docker inspect 103f83290eda
[
    {
        "Id": "103f83290eda83b06a5c844559962e3c4e02328edbbd6a45c7b562d7f07a7b2e",
        "Created": "2021-10-16T06:58:49.849590824Z",
        "Path": "/bin/sh",
        "Args": [
            "-c",
            "while true;do echo ldjjj;sleep 1 ;done"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 3921,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2021-10-16T06:58:50.164416807Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:5d0da3dc976460b72c77d94c8a1ad043720b0416bfc16c52c45d4847e53fadb6",
        "ResolvConfPath": "/var/lib/docker/containers/103f83290eda83b06a5c844559962e3c4e02328edbbd6a45c7b562d7f07a7b2e/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/103f83290eda83b06a5c844559962e3c4e02328edbbd6a45c7b562d7f07a7b2e/hostname",
        "HostsPath": "/var/lib/docker/containers/103f83290eda83b06a5c844559962e3c4e02328edbbd6a45c7b562d7f07a7b2e/hosts",
        "LogPath": "/var/lib/docker/containers/103f83290eda83b06a5c844559962e3c4e02328edbbd6a45c7b562d7f07a7b2e/103f83290eda83b06a5c844559962e3c4e02328edbbd6a45c7b562d7f07a7b2e-json.log",
        "Name": "/charming_keller",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": null,
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "default",
            "PortBindings": {},
            "RestartPolicy": {
                "Name": "no",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "host",
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": null,
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "ConsoleSize": [
                0,
                0
            ],
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": [],
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": [],
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "KernelMemory": 0,
            "KernelMemoryTCP": 0,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": false,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": [
                "/proc/asound",
                "/proc/acpi",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/sys/firmware"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/9611bb91fe077985120656c6610118b2248cc207dc785f389e31328b08636859-init/diff:/var/lib/docker/overlay2/79b5e374f0931b4adb231f28e4fd9e6d5d1e166f80be7d689aac65636d5277c7/diff",
                "MergedDir": "/var/lib/docker/overlay2/9611bb91fe077985120656c6610118b2248cc207dc785f389e31328b08636859/merged",
                "UpperDir": "/var/lib/docker/overlay2/9611bb91fe077985120656c6610118b2248cc207dc785f389e31328b08636859/diff",
                "WorkDir": "/var/lib/docker/overlay2/9611bb91fe077985120656c6610118b2248cc207dc785f389e31328b08636859/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [],
        "Config": {
            "Hostname": "103f83290eda",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "/bin/sh",
                "-c",
                "while true;do echo ldjjj;sleep 1 ;done"
            ],
            "Image": "centos",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "org.label-schema.build-date": "20210915",
                "org.label-schema.license": "GPLv2",
                "org.label-schema.name": "CentOS Base Image",
                "org.label-schema.schema-version": "1.0",
                "org.label-schema.vendor": "CentOS"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "cf0d3525c10aebbf404384aa7ff12c77e051d5e018716e71d0dbe312491fe738",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {},
            "SandboxKey": "/var/run/docker/netns/cf0d3525c10a",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "a7c04911876ff67a7ac4c820c62f186ab64721ebadbcc6ee9a3ed6a4cc9d7f19",
            "Gateway": "172.17.0.1",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "172.17.0.2",
            "IPPrefixLen": 16,
            "IPv6Gateway": "",
            "MacAddress": "02:42:ac:11:00:02",
            "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "04372c21f72887aaf0ea0aa58097a83bf2c97b4e2b52ca8c26f0c7f1e9b85b5d",
                    "EndpointID": "a7c04911876ff67a7ac4c820c62f186ab64721ebadbcc6ee9a3ed6a4cc9d7f19",
                    "Gateway": "172.17.0.1",
                    "IPAddress": "172.17.0.2",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:11:00:02",
                    "DriverOpts": null
                }
            }
        }
    }
]

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值