目录
一、帮助启动类命令
启动docker
停止docker
重启docker
查看docker状态
开机启动
查看docker概要信息
查看docker总体帮助文档
查看docker命令帮助文档
二、镜像命令
1. 列出本地主机上的镜像
2. 查找镜像
3. 下载镜像
4. 查看镜像/容器/数据卷所占的空间
5. 删除镜像
三、容器命令
1. 创建一个新的容器并运行一个命令
2. 列出正在运行的容器
3. 退出容器
4. 启动已经停止的容器
5. 重启容器
6. 停止容器
7. 强制停止容器
8. 删除已停止的容器
9. 一次删除多个容器实例!!!谨慎使用
10. 启动守护式容器(后台服务器)
11. 查看容器日志
12. 查看容器内运行的进程
13. 查看容器内部细节
14. 进入正在运行的容器并以命令交互
15. 从容器内拷贝文件到主机
16. 导入和导出容器
一、帮助启动类命令
-
启动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
二、镜像命令
1. 列出本地主机上的镜像
docker images
各个选项说明:
- PEPROSITORY:表示镜像的仓库源
-
TAG:镜像的标签
-
IMAGE ID:镜像ID
-
CREATED:镜像创建时间
-
SIZE:镜像大小
-
同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,如 ubuntu 仓库源里,有 15.10、14.04 等多个不同的版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。如果你不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest (最新的)镜像。
OPTIONS说明:
- -a:列出本地所有镜像(含历史映像层)
- -q:只显示镜像ID
2. 查找镜像
docker search [OPTIONS] 镜像名字
各个选项说明:
- NAME: 镜像仓库源的名称
-
DESCRIPTION: 镜像的描述
-
OFFICIAL: 是否是官方的
-
stars: 点赞数量
-
AUTOMATED: 自动构建。
OPTIONS说明:
- --limit:只列出N个镜像,默认为25个。例如:
docker search --limit 5 redis
3. 下载镜像
docker pull 镜像名字[:TAG]
docker pull 镜像名字
等价于
docker pull 镜像名字:latest
说明:没有写TAG默认下载的就是最新版本latest
例如:
①不指定版本号默认是最新的
②指定版本号
4. 查看镜像/容器/数据卷所占的空间
docker system df
5. 删除镜像
docker rmi [OPTIONS] 镜像名|镜像ID
删除全部镜像!!!!!谨慎使用
docker rmi -f ${docker images -qa}
OPTIONS说明:
- -f:强制删除
6. 面试题:谈谈docker虚悬镜像是什么?
仓库名、标签都是<none>的镜像,俗称虚悬镜像
此类镜像建议删除
三、容器命令
前提说明:有镜像才能创建容器,这是根本前提(下载一个CentOS或者Ubuntu)。Docker必须部署在Linux内核系统上
本次使用Ubuntu:
docker pull ubuntu
docker pull centos
1. 创建一个新的容器并运行一个命令
docker run [OPTIONS] IMAGE[COMMAND] [ARG...]
OPTIONS说明(常用):有些是一个减号,有些是两个减号
-
--name="容器新名字": 为容器指定一个名称;
-
-d: 后台运行容器,并返回容器ID;
-
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-
-i: 以交互模式运行容器,通常与 -t 同时使用;
-
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-
也即启动交互式容器(前台有伪终端,等待交互)
命令说明:
- -i:交互式操作
- -t:终端
- ubuntu:ubuntu镜像
- /bin/bash:放在镜像名称后的是命令,这里我们希望有个交互式Shell,因此用的是/bin/bash。要退出终端,直接输入exit
2. 列出正在运行的容器
docker ps[OPTIONS]
OPTIONS说明(常用):
-
-a :显示所有的容器,包括未运行的。
-
-l :显示最近创建的容器。
-
-n :列出最近创建的n个容器。
-
-q :静默模式,只显示容器编号。
3. 退出容器
两种退出方式
- exit:run进去容器,exit退出,容器停止
- Ctrl+p+q:run进去容器,ctrl+p+q退出,容器不停止!!!
4. 启动已经停止的容器
docker start 容器ID或者容器名
5. 重启容器
docker restart 容器ID或者容器名字
6. 停止容器
docker stop 容器ID或者容器名字
7. 强制停止容器
docker kill 容器ID或者容器名字
8. 删除已停止的容器
docker rm 容器ID或者容器名字
9. 一次删除多个容器实例!!!谨慎使用
docker rm -f ${docker pa -a -q}
10. 启动守护式容器(后台服务器)
需求:在大部分情况下,我们希望docker的服务是在后台运行的,我们可以通过-d指定容器后台运行
docker run -d 容器名
11. 查看容器日志
docker logs 容器ID
12. 查看容器内运行的进程
docker top 容器ID
13. 查看容器内部细节
docker inspect 容器ID
14. 进入正在运行的容器并以命令交互
两种进入方式:
-
docker exec -it 容器ID bashShell
-
docker attach 容器ID
上述两个区别:
- attach直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器停止
- exec是在容器中打开新的终端,不会导致容器停止
推荐大家使用 docker exec 命令,因为退出容器终端,不会导致容器停止
15. 从容器内拷贝文件到主机
docker cp 容器ID:/容器内路径 目的主机路径
例如
①先在容器内创建文件
②执行命令实现文件的拷贝
16. 导入和导出容器
- 导出:将容器打包成一个文件tar包
docker export 容器ID > 文件名.tar
-
导入:将tar包导入成一个镜像
cat 文件名.tar | docker import -镜像用户/镜像名:版本号
例:
①导出
②导入