5.常用指令
5.0.帮助命令
docker version #显示docker详细信息
docker info #查看docker概要信息, 显示docker的系统信息,包括镜像和容器的数量
docker --help #docker帮助命令手册
docker 具体命令 --help #查看docker命令帮助文档
5.1.Docker管理
systemctl start docker # 启动docker
systemctl stop docker # 停止docker
systemctl restart docker # 重启docker
systemctl status docker # 查看docker状态
systemctl enable docker # 开机自动启动docker
5.2.镜像命令
5.2.1.docker images查看镜像列表
查看自己服务器中docker 镜像列表
docker images #查看所有本地主机的镜像
docker images | grep 镜像名 #查看对应的本地主机中的镜像
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签版本号
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小
同一仓库源可以有多个 TAG版本,代表这个仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。
如果你不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像
-a :列出本地所有的镜像(含历史映像层)
-q :只显示镜像ID。
5.2.2.docker search 搜索镜像
docker search 镜像名 #搜索镜像
NAME: 镜像名称
DESCRIPTION: 镜像说明
STARS: 点赞数量
OFFICIAL: 是否是官方
AUTOMATED: 是否是自动构建的
-limit : 只列出N个镜像,默认25个
5.2.3.docker pull 拉取镜像
docker pull 镜像名 [标签] #下载镜像(如果不写tag,默认是latest)
没有TAG就是最新版 , 等价于:docker pull 镜像名字:latest
5.2.4.docker rmi 删除镜像
docker rmi 镜像名 [标签] #删除镜像
docker rmi -f 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID #删除多个 其镜像ID或镜像用用空格隔开即可
docker rmi -f $(docker images -aq) #删除全部镜像
强制删除镜像
docker image rm 镜像名称/镜像ID
5.2.5.docker tag 镜像标签
docker tag 镜像名:版本 新镜像名:版本 #复制镜像并且修改名称
5.2.6.docker commit
我们运行的容器可能在镜像的基础上做了一些修改,有时候我们希望保存起来,封装成一个更新的镜像,这时候我们就需要使用 commit 命令来构建一个新的镜像
docker commit -a "xxx" -c "xxx" 镜像ID 名字:版本 #提交镜像
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
5.2.7.docker load 加载镜像
任何装 docker 的地方加载镜像保存文件,使其恢复为一个镜像
docker load -i 镜像保存文件位置 #导入镜像
5.2.8.docker save 保存镜像
将我们的镜像 保存为tar 压缩文件 这样方便镜像转移和保存 ,然后 可以在任何一台安装了docker的服务器上 加载这个镜像
docker save -o /xxx/xxx.tar #保存一个镜像为一个tar包
5.3.容器命令
5.3.1.docker run
docker run [可选参数] image 命令 #启动容器(无镜像会先下载镜像)
–name = “Name” 容器名字
-c 后面跟待完成的命令
-d 以后台方式运行并且返回ID,启动守护进程式容器
-i 使用交互方式运行容器,通常与t同时使用
-t 为容器重新分配一个伪输入终端。也即启动交互式容器
-p 指定容器端口 -p 容器端口:物理机端口 映射端口
-P 随机指定端口
-v 给容器挂载存储卷
5.3.2.查看正在运行容器列表
docker ps #列出正在运行的容器
docker ps -a #列出所有容器(不加-a就是在运行的)
docker ps|grep 容器名 #列出对应容器
5.3.3.管理容器
docker start 容器实例的ID #启动容器
docker restart 容器实例的ID #重启容器
docker stop 容器实例的ID #停止正在运行的容器
docker rm 容器实例的ID #删除容器(正在运行容器不能删除,除非加-f选项)
docker kill 容器实例的ID #杀掉容器
5.3.4.交互模式
docker attach 容器实例的ID
docker exec 容器实例的ID
# 同为进入容器命令,不同的是attach连接终止会让容器退出后台运行,而exec不会。
# 并且,docker attach是进入正在执行的终端,不会启动新的进程,而docker exec则会开启一个新的终端,可以在里面操作。
exit #直接退出容器
crlt + P + Q #退出容器但是不终止运行
5.3.5.更多操作
docker logs 容器实例的ID #查看容器日志
docker build #创建镜像 -f:指定dockerfile文件路径 -t:镜像名字以及标签
docker rename 旧名字 新名字 # 给容器重新命名
docker top 容器实例的ID #查看容器内进程
docker history 容器实例的ID #查看docker镜像的变更历史
docker image inspect 容器名称:容器标签 #查看容器内源数据
docker cp 容器id:容器内路径 目的主机路径 #从容器内拷贝文件到主机(常用)或者从主机拷贝到容器(一般用挂载)