一、概述
本文基于 docker 20.10.12
版本,整理了 docker
中一些常用的基础命令,命令主要分为镜像相关和容器相关两个部分。
二、镜像相关
镜像拉取
docker pull <repository>:<tag>
镜像列表查询
docker images [<repository>:<tag>]
查看镜像的分层信息
docker inspect <repository>:<tag>
删除镜像
docker rmi <repository>:<tag>
docker rmi <imageId>导入本地镜像文件
docker 镜像文件一般是一个
tar
格式的压缩包。docker load < <imageFile>
docker load -i <imageFile>导出镜像为镜像文件
除了
save
命令,还有一个 export
命令,使用方法相同。docker save <repository>:<tag> > <imageFile>
docker save <repository>:<tag> -o <imageFile>使用
Dockerfile
构建镜像除了以下使用的
-t
指定标签参数,还有许多指定内存、CPU等数据的参数docker build -f <Dockerfile> -t <repository>:<tag> .
查询镜像的创建历史
docker history <repository>:<tag>
为已有的镜像创建一个新的标签
docker tag <oldRepository>:<oldTag> <newRepository>:<newTag>
三、容器相关
创建一个新容器运行命令
docker run [OPTIONS] <repository>:<tag> [COMMAND] [ARG...]
部分常用OPTIONS参数:
参数
说明
-p
指定端口映射,格式为:外部端口:容器端口
-i
以交互模式运行容器,通常与 -t 同时使用
-t
为容器重新分配一个伪输入终端,通常与 -i 同时使用
-d
后台运行容器,并返回容器ID
–volume , -v
绑定一个卷,格式为:外部路径:容器内部路径
-m
设置容器使用内存最大值
–cpuset=“0-2”
–cpuset=“0,1,2”
绑定容器到指定CPU运行
–name=“blog”
为容器指定一个名称
示例:
# 80端口映射,data目录挂载,后台运行
docker run -p 80:80 -v /data:/data -d nginx:latest
# 以交互模式启动容器,在容器内执行/bin/bash命令
docker run -it nginx:latest /bin/bash容器的启动、停止与重启
# 启动
docker start <container> [container...]
# 停止
docker stop <container> [container...]
# 重启
docker restart <container> [container...]打印容器列表
docker ps [OPTIONS]
部分常用OPTIONS参数:
参数
说明
-a
显示所有的容器,包括未运行的
-n
列出最近创建的n个容器
-s
显示总的文件大小
-q
只显示容器编号
创建一个新的容器,但不启动
docker create [OPTIONS] <repository>:<tag> [COMMAND] [ARG...]
在运行的容器中执行命令
docker exec [OPTIONS] <container> [COMMAND] [ARG...]
部分常用OPTIONS参数:
参数
说明
-d
在后台运行
-i
即使没有附加也保持STDIN 打开
-t
分配一个伪终端
连接到正在运行中的容器
无法退出连接,Ctrl+C/Ctrl+P/Ctrl+Q?实际使用中都不行!
docker attach <container>
文件拷贝
容器内路径的表达格式:容器Id:容器内路径
docker cp <srcPath> <destPath>
检查容器内文件的变动
A:表示创建,D:表示删除,C:表示修改
docker diff <container>
将当前容器打包成一个镜像
docker commit [OPTIONS] <container> [<repository>:<tag>]
示例:
docker commit dc test:v6
查询容器的端口映射
docker port <container>
导出容器为镜像文件
docker export <repository>:<tag> > <imageFile>
docker export <repository>:<tag> -o <imageFile>阻塞当前终端的运行,直到容器停止运行
docker wait <container> [container...]
打印容器的日志信息
docker logs [OPTIONS] <container>
部分常用OPTIONS参数:
参数
说明
-f
跟踪日志输出
–since
显示某个开始时间的所有日志
-t
显示时间戳
–tail
仅列出最新n条容器日志
查看容器中运行的进程信息
docker top <container>
暂停容器的运行
docker pause <container> [container...]
恢复容器的运行
docker unpause <container> [container...]
删除容器
docker rm [OPTIONS] <container> [container...]
部分常用OPTIONS参数:
参数
说明
-f
通过 SIGKILL 信号强制删除一个运行中的容器
-i
移除容器间的网络连接,而非容器本身
-v
删除容器,并删除与容器关联的卷
终止一个正在运行的容器
docker kill [OPTIONS] <container> [container...]
部分常用OPTIONS参数:
参数
说明
-s
向容器发送一个信号
示例:
docker kill -s KILL nginx