启动docker
systemctl start docker
停止docker
systemctl stop docker
重启docker
systemctl restart docker
查看docker状态
systemctl status docker
开机启动
systemctl enable docker
查看概要信息
docker info
查看docker总体帮助文档
docker --help
查看docker命令帮助文档
docker 具体命令 --help
docker images 列出本地主机上的镜像
表头参数 | 说明 |
---|---|
REPOSITORY | 表示镜像的仓库源 |
TAG | 镜像标签的版本号 |
IMAGE ID | 镜像ID |
CREATED | 镜像创建时间 |
SIZE | 镜像大小 |
说明:同一仓库源可以有多个TAG版本,代表这个仓库源的不同个版本,我们使用REPOSITORY:TAG来定义不同的镜像,如果不指定镜像标签,将默认使用latest镜像
option说明
-a:列出本地所有镜像(包含历史映像层)-q:只显示镜像ID
docker search 镜像名称
表头信息 | 说明 |
---|---|
NAME | 镜像名称(包含发布包名) |
DESCRIPTION | 镜像说明 |
STARS | 点赞数量 |
OFFICIAL | 是否官方认证 |
AUTOMATED | 是否是自动构建的 |
options说明
--limit:只列出N个镜像,默认25个示例:docker search --limit 5 redis
docker pull 镜像名称
作用:下载镜像
语法
docker pull 镜像名称[:TAG]
说明:没有TAG相当于最新版,等价于docker pull 镜像名称:latest
docker system df
docker rmi 镜像名称|镜像ID
作用:删除镜像
options
-f:强制删除该镜像
删除多个镜像
docker rmi -f 镜像名1:TAG 镜像名2:TAG ...
删除全部
docker rmi -f $(docker -images -qa) # $()嵌套执行命令将结果传递给外层命令
虚悬镜像是指仓库和标签都未None的镜像,一般为中途构建失败的镜像,建议删除
docker run [options] image [command] [arg…]
作用:新建+启动容器
options:
参数 | 作用 |
---|---|
–name=‘xxx’ | 为容器指定一个名称,不指定则为随机名称 |
-d | 后台运行容器,并返回容器ID,既启动守护式容器(后台运行) |
-i | 以交互模式运行容器,通常与-t同时使用 (interactive) |
-t | 为容器重新分配一个伪输入终端,通常与-i同时使用(既启动带有伪终端的交互式容器)(terminal) |
-P | 随机端口映射,大写P |
-p | 指定端口映射,小写p |
端口映射示例
-p 主机端口:容器端口 # -p 80:8080
-p 主机IP:主机端口:容器端口 #配置监听地址 -p 192.168.1.2:80:8080
启动交互式容器示例
docker run -it ubuntu /bin/bash #使用镜像ubuntu:latest以交互模式启动容器,在容器内执行/bin/bash命令
exit #退出交互式容器
docker ps [options]
作用:列出当前所有正在运行的容器
options说明
参数 | 作用 |
---|---|
-a | 列出当前所有正在运行的容器+历史上运行过的 |
-l | 显示最近创建的容器 |
-n | 显示最近创建的n个容器 |
-q | 静默模式,只显示容器编号 |
exit | ctrl+p+q
docker start 容器ID | 容器名
docker restart 容器ID | 容器名
docker stop 容器ID | 容器名
docker kill 容器ID | 容器名
docker rm 容器ID
作用:删除已停止的容器
options: -f 强制删除
说明:一次性删除多个容器实例可以使用以下命令
docker rm -f $(docker ps -q -a)
docker ps -q -a | xargs docker rm
docker run -d 容器名
作用:启动守护式容器(后台服务器),在大部分场景下,我们希望docker服务是在后台运行的,所以可以通过-d指定容器的后台运行模式
示例
docker run -d redis #后台启动redis
docker ps -a #查看容器是否在运行
注意项:启动守护式容器必须有一个前台阻塞式进程,否则容器会在命令执行完成后自动退出,这是docker的机制问题
docker logs 容器名|容器ID
docker top 容器名|容器ID
docker inspect 容器ID
方式1:docker exec -it 容器ID /bin/bash
方式2:docker attach 容器ID (已过期)
区别:docker exec -it在使用exec退出后容器扔在运行,docker attach运行的容器在使用exec退出后容器会停止运行,所以一般推荐使用exec的方式进入守护式容器
docker cp 容器ID:容器文件路径 目标主机路径
作用:将容器内文件拷贝到主机
示例
docker cp 32a88a902c9a:/var/a.txt ./
docker export 容器ID > 文件名.tar
作用:导出容器的内容作为一个tar归档文件
示例
docker export 32a88a902c9a > ub.tar
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号
作用:从tar包中的内容创建一个新的文件系统再导入为镜像
示例
cat ub.tar | docker import - zss/myubuntu:1.0
docker imagesREPOSITORY TAG IMAGE ID CREATED SIZE
zss/myubuntu 1.0 1541c623b4dc About a minute ago 72.8MB
说明:docker镜像层都是只读的,容器层是可写的,当容器启动时,一个新的可写层会被加载到镜像的顶部,这一层通常称为容器层,容器层之下的都叫镜像层
docker commit的作用:提交容器副本使之成为一个新的镜像
语法
docker commit -m="描述信息" -a="作者" 容器ID 镜像名:[标签名]