【Docker】从零开始:7.帮助启动类命令

一、帮助启动类命令

启动Docker

docker:systemctl start docker

停止Docker

systemctl stop docker

重启Docker

systemctl restart docker

查看Docker状态

systemctl status docker

开机启动

systemctl enable docker

查看docker概要信息

docker info

查看docker总体帮助文档

docker--help

查看docker命令帮助文档

docker 具体命令 -help

二、镜像命令

列出本地主机上的镜像

docker images

运行示例

[root@docker ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED       SIZE
hello-world   latest    feb5d9fea6a5   2 years ago   13.3kB
[root@docker ~]# 

返回说明

  • :表示镜像的仓库源
  • :镜像的标签版本号
  • :镜像ID
  • :镜像创建时间
  • :镜像大小

操作参数

docker images -a
docker images -q

搜索仓库里的某个镜像

docker search [镜像名称]

运行示例

[root@docker ~]# docker search redis
NAME                                DESCRIPTION                                      STARS     OFFICIAL   AUTOMATED
redis                               Redis is an open source key-value store that…   12490     [OK]       
redislabs/redisearch                Redis With the RedisSearch module pre-loaded…   61                   
redislabs/redisinsight              RedisInsight - The GUI for Redis                 94                   
redis/redis-stack-server            redis-stack-server installs a Redis server w…   60                   
redis/redis-stack                   redis-stack installs a Redis server with add…   82                   
redislabs/rebloom                   A probablistic datatypes module for Redis        25                   [OK]
redislabs/redis                     Clustered in-memory database engine compatib…   40                   
redislabs/rejson                    RedisJSON - Enhanced JSON data type processi…   53                   
redislabs/redisgraph                A graph database module for Redis                26                   [OK]
redislabs/redismod                  An automated build of redismod - latest Redi…   41                   [OK]
redislabs/redistimeseries           A time series database module for Redis          12                   
redislabs/operator                                                                   7                    
redislabs/operator-internal         This repository contains pre-released versio…   1                    
redislabs/redis-py                                                                   5                    
redislabs/redis-webcli              A tiny Flask app to provide access to Redis …   5                    [OK]
redislabs/redisgears                An automated build of RedisGears                 4                    
redislabs/k8s-controller-internal                                                    0                    
redislabs/k8s-controller                                                             2                    
redislabs/memtier_benchmark         Docker image to run memtier_benchmark            0                    
redislabs/ng-redis-raft             Redis with redis raft module                     0                    
redislabs/redisai                                                                    6                    
redislabs/olmtest                   Test artefact for OLM CSV                        1                    
bitnami/redis                       Bitnami Redis Docker Image                       271                  [OK]
redislabs/olm-bundle                                                                 0                    
redislabs/redisml                   A Redis module that implements several machi…   3                    [OK]

返回说明

  • :表示镜像名称
  • :镜像说明
  • :镜像的点赞数
  • :是否是官方的
  • :是否是自动构建的

操作参数

docker search  --limit 5 [镜像名称]

拉取镜像

docker pull [镜像名称]:[镜像标签/TAG]

运行示例

[root@docker ~]# docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
7b1a6ab2e44d: Pull complete 
Digest: sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest
[root@docker ~]# docker pull mysql:5.6
5.6: Pulling from library/mysql
35b2232c987e: Pull complete 
fc55c00e48f2: Pull complete 
0030405130e3: Pull complete 
e1fef7f6a8d1: Pull complete 
1c76272398bb: Pull complete 
f57e698171b6: Pull complete 
f5b825b269c0: Pull complete 
dcb0af686073: Pull complete 
27bbfeb886d1: Pull complete 
6f70cc868145: Pull complete 
1f6637f4600d: Pull complete 
Digest: sha256:20575ecebe6216036d25dab5903808211f1e9ba63dc7825ac20cb975e34cfcae
Status: Downloaded newer image for mysql:5.6
docker.io/library/mysql:5.6
[root@docker ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
mysql         5.6       dd3b2a5dcb48   23 months ago   303MB
ubuntu        latest    ba6acccedd29   2 years ago     72.8MB
hello-world   latest    feb5d9fea6a5   2 years ago     13.3kB
[root@docker ~]# 

查看镜像/容器/数据卷所占的空间

docker system df

运行示例

[root@docker ~]# docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          3         1         375.3MB   375.3MB (99%)
Containers      2         0         0B        0B
Local Volumes   0         0         0B        0B
Build Cache     0         0         0B        0B
[root@docker ~]# 

返回说明

TYPE 类型:Images镜像,Containers容器,Local Volumes本地卷,Build Cache构建缓存

  • 统计数量
  • 正在使用的数量
  • 磁盘占用大小
  • 可回收的空间大小

删除镜像

  • 删除单个镜像
docker rmi [镜像名称]:[镜像标签]
docker rmi [镜像ID]
  • 删除多个镜像
docker rmi [镜像1名称]:[镜像1标签] [镜像2名称]:[镜像2标签] [镜像3名称]:[镜像3标签]
docker rmi [镜像1ID] [镜像2ID] [镜像3ID]
  • 删除全部镜像
docker rmi $(docker images -qa)

运行示例

[root@docker ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
mysql         5.6       dd3b2a5dcb48   23 months ago   303MB
ubuntu        latest    ba6acccedd29   2 years ago     72.8MB
hello-world   latest    feb5d9fea6a5   2 years ago     13.3kB
[root@docker ~]# docker rmi mysql:5.6
Untagged: mysql:5.6
Untagged: mysql@sha256:20575ecebe6216036d25dab5903808211f1e9ba63dc7825ac20cb975e34cfcae
Deleted: sha256:dd3b2a5dcb48ff61113592ed5ddd762581be4387c7bc552375a2159422aa6bf5
Deleted: sha256:8c5e3b50c7085016b7c692611fdedacba442aa0f4ccf8739f4ecf4d5e49b7d91
Deleted: sha256:2ff31bb829f16adc374868d9ef59254f394816aadfeb6b45da5bec5dcde45540
Deleted: sha256:91bcc75c6967ec46f3f19fa96f248ab3a23589788f9e2c4a1a2e032112def863
Deleted: sha256:127296d2ee30c8716069dc23d015d9ecaa1544d0a2c44712db128ae6a9cb1431
Deleted: sha256:fe36f45d1760f56c23a9957254682d74aa6e7fba931dc8f11addf75684b1aa69
Deleted: sha256:8d6550c8cb1e10f9d0cf1ee3061ecef9e2cb333cdfbf58a02ee27cf2dd5fc35a
Deleted: sha256:64e278d98d2502416e0c55646e919f0080a50f9a342b0e28aa9c43655518d3aa
Deleted: sha256:013f70419be70a06c8e4ce898f2dac82be8749cb9979d9e5b1c98dd82519f627
Deleted: sha256:c49bbc9eeced1247fcd625da3e2c2886e89b15a6264899a9ce32cd21d927912e
Deleted: sha256:031797b961ee18c70bff1f3b53cea52f643dbaef6a5ecb0e98fc2696e8b039a5
Deleted: sha256:2b83e5699838047f936a3875bcce7fe1b169983bf86785ae7519c5bc488558ae
[root@docker ~]# docker rmi ba6acccedd29
Untagged: ubuntu:latest
Untagged: ubuntu@sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322
Deleted: sha256:ba6acccedd2923aee4c2acc6a23780b14ed4b8a5fa4e14e252a23b846df9b6c1
Deleted: sha256:9f54eef412758095c8079ac465d494a2872e02e90bf1fb5f12a1641c0d1bb78b
[root@docker ~]# 

运行镜像

docker run [操作参数] [镜像名称]:[镜像标识] [命令][参数]
docker run [操作参数] [镜像ID] [命令][参数]

运行示例

[root@docker ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
mysql         5.6       dd3b2a5dcb48   23 months ago   303MB
ubuntu        latest    ba6acccedd29   2 years ago     72.8MB
hello-world   latest    feb5d9fea6a5   2 years ago     13.3kB
[root@docker ~]# docker rmi mysql:5.6
Untagged: mysql:5.6
Untagged: mysql@sha256:20575ecebe6216036d25dab5903808211f1e9ba63dc7825ac20cb975e34cfcae
Deleted: sha256:dd3b2a5dcb48ff61113592ed5ddd762581be4387c7bc552375a2159422aa6bf5
Deleted: sha256:8c5e3b50c7085016b7c692611fdedacba442aa0f4ccf8739f4ecf4d5e49b7d91
Deleted: sha256:2ff31bb829f16adc374868d9ef59254f394816aadfeb6b45da5bec5dcde45540
Deleted: sha256:91bcc75c6967ec46f3f19fa96f248ab3a23589788f9e2c4a1a2e032112def863
Deleted: sha256:127296d2ee30c8716069dc23d015d9ecaa1544d0a2c44712db128ae6a9cb1431
Deleted: sha256:fe36f45d1760f56c23a9957254682d74aa6e7fba931dc8f11addf75684b1aa69
Deleted: sha256:8d6550c8cb1e10f9d0cf1ee3061ecef9e2cb333cdfbf58a02ee27cf2dd5fc35a
Deleted: sha256:64e278d98d2502416e0c55646e919f0080a50f9a342b0e28aa9c43655518d3aa
Deleted: sha256:013f70419be70a06c8e4ce898f2dac82be8749cb9979d9e5b1c98dd82519f627
Deleted: sha256:c49bbc9eeced1247fcd625da3e2c2886e89b15a6264899a9ce32cd21d927912e
Deleted: sha256:031797b961ee18c70bff1f3b53cea52f643dbaef6a5ecb0e98fc2696e8b039a5
Deleted: sha256:2b83e5699838047f936a3875bcce7fe1b169983bf86785ae7519c5bc488558ae
[root@docker ~]# docker rmi ba6acccedd29
Untagged: ubuntu:latest
Untagged: ubuntu@sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322
Deleted: sha256:ba6acccedd2923aee4c2acc6a23780b14ed4b8a5fa4e14e252a23b846df9b6c1
Deleted: sha256:9f54eef412758095c8079ac465d494a2872e02e90bf1fb5f12a1641c0d1bb78b
[root@docker ~]# 

操作参数

列出当前所有正在运行的容器

 docker ps [操作参数]

运行示例

[root@docker ~]# docker ps -a
CONTAINER ID   IMAGE          COMMAND    CREATED        STATUS                    PORTS     NAMES
f919fcfcb7b0   hello-world    "/hello"   5 hours ago    Exited (0) 5 hours ago              fervent_benz
a4016a83fc04   hello-world    "/hello"   9 hours ago    Exited (0) 9 hours ago              hopeful_bardeen
f30bd054e899   9c7a54a9a43c   "/hello"   26 hours ago   Exited (0) 26 hours ago             mystifying_shockley

操作参数

退出容器

run进去容器,exit退出,容器停止

exit

run进去容器,ctrl+p+q退出,容器不停止

按键 Ctrl+p+q

启动已经停止的的容器

docker start [容器ID/容器名称]

启动已经停止的的容器

docker start [容器ID/容器名称]

重启容器

docker restart [容器ID/容器名称]

停止容器

docker stop [容器ID/容器名称]

强制停止容器

docker kill [容器ID/容器名称]

删掉已停止的容器

docker rm [容器ID/容器名称]

一次性删除多个容器实例

docker rm -f $(docker ps -qa)
docker ps -qs | xargs docker rm
docker container prune

操作参数

  • docker rm 参数
  • docker container prune 参数

检查容器文件结构修改

docker diff [容器名]
docker container diff [容器名]

运行示例

docker diff web

杀掉运行中的容器

docker kill [操作参数] [容器名] [CONTAINER...] 

运行示例

docker diff web

参数说明

暂停/恢复容器中所有进程

运行示例

  • 暂停
docker pause [容器名/容器ID]
docker container pause [容器名/容器ID]
  • 恢复
docker unpause [容器名/容器ID]
docker container unpause [容器名/容器ID]

容器重命名

运行示例

docker rename [容器名/容器ID] [新的容器名]
docker container rename [容器名/容器ID] [新的容器名]

三.其他常用

启动守护式容器(后台服务器)

  • 在大部分的场景下,我们希望 docker 的服务是在后台运行的,
    我们可以过 -d 指定容器的后台运行模式。
docker run -d [容器名]

查看容器日志

docker logs [操作参数] [容器ID]

运行示例

docker exec -it web /bin/bash

操作参数

查看容器内运行的进程

docker top [容器ID]

查看容器内部细节

docker inspect [容器ID]
docker container inspect [容器ID]

操作参数

docker inspect web
docker inspect --format='{{.NetworkSettings.IPAddress}}' web
docker inspect -f {{.Mounts}} web

重新进入容器(进入正在运行的容器并以命令行交互)

  • exec 是在容器中打开新的终端,并且可以启动新的进程
    用exit退出,不会导致容器的停止。
docker exec [操作参数] [容器ID] [bashShell]
docker exec [操作参数] [容器名称] [bashShell]

运行示例

docker exec -it web /bin/bash

操作参数

  • attach 直接进入容器启动命令的终端,不会启动新的进程
    用exit退出,会导致容器的停止。
docker attach -it 容器ID bashShell
docker attach --sig-proxy=false mytest
docker attach --no-stdin mytest

从容器内拷贝文件到主机

docker copy [操作参数] [容器ID]:[拷贝文件路径] [目的文件路径]

操作参数

导出容器

docker export [操作参数] [容器ID] > [自定义文件名].tar

运行示例

docker export CONTAINER ID > NAME.tar
docker export -o NAME.tar CONTAINER ID

操作参数

导入容器

cat [自定义文件名].tar | docker import [容器名称]:[容器标签]
11-24 18:53