目录

帮助启动类命令

启动docker

停止docker

重启docker

查看docker状态

开机启动

查看docker概要信息

查看docker帮助文档

镜像命令

docker images

列出本地主机上的镜像:

-a:列出本地所有镜像(包含历史映像层)

-q:只显示镜像ID

docker search

docker search [镜像名]

--limit:列出n个镜像,默认25个

docker pull

docker pull 镜像名:[TAG]

若不添加TAG则默认下载最新版

docker system df

docker rmi

docker rmi [镜像ID]

docker rmi -f $(docker images -pa)

docker虚悬镜像

容器命令

docker run

docker ps [options]

docker ps

-a

退出容器

exit

ctrl+p+q

docker start 容器ID或容器名

docker restart 容器ID或容器名

docker stop 容器ID或容器名

docker kill 容器ID或容器名

docker rm 容器ID

docker rm -f $(docker ps -a -q)

docker ps -a -q | xargs docker rm

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

docker run -d 容器名

此处演示一下redis的-it前台启动

docker logs 容器ID

docker top 容器ID

docker inspect 容器ID

进入正在运行的容器并以命令交互

docker exec -it 容器ID BashShell

重新进入 docker attach 容器ID

attach与exec的区别

docker cp 容器ID:容器内路径 目的主机路径

export / import 

export导出容器的内容作为一个tar归档文件

import从tar包中创建一个新的文件系统再导入为镜像


帮助启动类命令

启动docker

[root@vanqiyeah /]# systemctl start docker

docker 根据容器id查找 docker 获取容器id_docker 根据容器id查找


停止docker

[root@vanqiyeah /]# systemctl stop docker

docker 根据容器id查找 docker 获取容器id_容器_02


重启docker

[root@vanqiyeah /]# systemctl restart docker

docker 根据容器id查找 docker 获取容器id_容器_03


查看docker状态

[root@vanqiyeah /]# systemctl status docker

docker 根据容器id查找 docker 获取容器id_docker_04


开机启动

[root@vanqiyeah /]# systemctl enable docker

docker 根据容器id查找 docker 获取容器id_linux_05


查看docker概要信息

[root@vanqiyeah /]# docker info

docker 根据容器id查找 docker 获取容器id_docker_06


查看docker帮助文档

[root@vanqiyeah /]# docker --help

镜像命令

docker images

列出本地主机上的镜像:

[root@vanqiyeah /]# docker images

docker 根据容器id查找 docker 获取容器id_docker_07

-a:列出本地所有镜像(包含历史映像层)

[root@vanqiyeah /]# docker images -a

docker 根据容器id查找 docker 获取容器id_容器_08

-q:只显示镜像ID

[root@vanqiyeah /]# docker images -q

docker 根据容器id查找 docker 获取容器id_容器_09


docker search

docker search [镜像名]

[root@vanqiyeah /]# docker search mysql

docker 根据容器id查找 docker 获取容器id_docker 根据容器id查找_10

--limit:列出n个镜像,默认25个

[root@vanqiyeah /]# docker search mysql --limit 5

docker 根据容器id查找 docker 获取容器id_容器_11


docker pull

docker pull 镜像名:[TAG]

[root@vanqiyeah /]# docker pull mysql:5.7

docker 根据容器id查找 docker 获取容器id_容器_12

若不添加TAG则默认下载最新版

[root@vanqiyeah /]# docker pull hello-world

docker 根据容器id查找 docker 获取容器id_服务器_13


docker system df

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

[root@vanqiyeah /]# docker system df

docker 根据容器id查找 docker 获取容器id_服务器_14


docker rmi

docker rmi [镜像ID]

[root@vanqiyeah /]# docker rmi feb5d9fea6a5

docker 根据容器id查找 docker 获取容器id_容器_15

docker rmi -f $(docker images -pa)

删除全部,这里就不演示了。。不要轻易使用!


docker虚悬镜像

虚悬镜像就是仓库名和标签都为<none>的镜像,俗称虚悬镜像dangling image,一般是建议直接删除。


容器命令

docker run

docker run [options] image [command] [arg...]

[root@vanqiyeah /]# docker run -it ubuntu /bin/bash

docker 根据容器id查找 docker 获取容器id_docker_16


docker ps [options]

docker ps

列出当前正在运行的容器

[root@vanqiyeah /]# docker ps

docker 根据容器id查找 docker 获取容器id_docker 根据容器id查找_17

-a

列出所有容器

[root@vanqiyeah /]# docker ps -a

docker 根据容器id查找 docker 获取容器id_docker 根据容器id查找_18


退出容器

exit

xshell中可以使用ctrl+D

root@9376d1e98be7:/# exit

docker 根据容器id查找 docker 获取容器id_docker_19

ctrl+p+q

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


docker start 容器ID或容器名

[root@vanqiyeah /]# docker start ubuntu

docker 根据容器id查找 docker 获取容器id_docker_20


docker restart 容器ID或容器名

[root@vanqiyeah /]# docker restart ubuntu

docker 根据容器id查找 docker 获取容器id_容器_21


docker stop 容器ID或容器名

[root@vanqiyeah /]# docker stop ubuntu

docker 根据容器id查找 docker 获取容器id_docker_22


docker kill 容器ID或容器名

[root@vanqiyeah /]# docker kill ubuntu

docker 根据容器id查找 docker 获取容器id_服务器_23


docker rm 容器ID

[root@vanqiyeah /]# docker rm 9376d1e98be7

docker 根据容器id查找 docker 获取容器id_服务器_24

docker rm -f $(docker ps -a -q)

一次删除多个容器,不做演示了

docker ps -a -q | xargs docker rm

一次删除多个容器,不做演示了


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

docker run -d 容器名

[root@vanqiyeah /]# docker run -d redis

docker 根据容器id查找 docker 获取容器id_linux_25

此处演示一下redis的-it前台启动

[root@vanqiyeah /]# docker run -it redis /bin/bash

docker 根据容器id查找 docker 获取容器id_容器_26


docker logs 容器ID

查看容器日志

[root@vanqiyeah /]# docker logs b76cb0a31fb8

docker 根据容器id查找 docker 获取容器id_服务器_27


docker top 容器ID

查看容器内运行的进程

[root@vanqiyeah /]# docker top b76cb0a31fb8

docker 根据容器id查找 docker 获取容器id_服务器_28


docker inspect 容器ID

查看容器内部细节

[root@vanqiyeah /]# docker inspect b76cb0a31fb8

docker 根据容器id查找 docker 获取容器id_docker 根据容器id查找_29


进入正在运行的容器并以命令交互

docker exec -it 容器ID BashShell

[root@vanqiyeah /]# docker exec -it mysql8.0 /bin/bash

docker 根据容器id查找 docker 获取容器id_容器_30

重新进入 docker attach 容器ID

[root@vanqiyeah /]# docker attach 8b6df60e73d0

docker 根据容器id查找 docker 获取容器id_服务器_31

attach与exec的区别

attach直接进入容器启动命令的终端,不会启动新的进程,使用exit退出时,会导致容器的停止。

 exec是在容器中打开新的终端,不会启动新的进程,使用exit退出时,不会导致容器的停止。


docker cp 容器ID:容器内路径 目的主机路径

从容器拷贝文件到主机上

[root@vanqiyeah /]# docker cp 4dd4a4a4a2a7:/tmp/a.txt /

docker 根据容器id查找 docker 获取容器id_docker 根据容器id查找_32

docker 根据容器id查找 docker 获取容器id_服务器_33


export / import 

export导出容器的内容作为一个tar归档文件

[root@vanqiyeah /]# docker export 4dd4a4a4a2a7 > 1.tar

docker 根据容器id查找 docker 获取容器id_服务器_34

import从tar包中创建一个新的文件系统再导入为镜像

cat 文件名.tar | docker import - 镜像用户名/镜像名:镜像版本号

[root@vanqiyeah /]# cat 1.tar | docker import - root/van:1.0

docker 根据容器id查找 docker 获取容器id_docker_35

docker 根据容器id查找 docker 获取容器id_linux_36