镜像仓库操作
search搜索镜像
从镜像仓库中搜索镜像
docker search [options] key
options
--limit n 返回结果的数量
--no-trunc 显示完整的镜像描述
-f(–filter) <过滤条件> 返回符合过滤条件的镜像
key 搜索的关键字
1 | # 搜索镜像 |
pull拉取镜像
从镜像仓库中拉取镜像
docker pull [options] image[:tag]
options
-a(--all-tags) 下载镜像的所有标签
-q(--quiet) 静默下载只输出镜像ID
--platform 下载指定平台镜像(linux/amd64,linux/arm64)
image 镜像名称
tag 镜像版本,默认为 latest
1 | # 拉取最新版本镜像 |
push推送镜像
将本地镜像推送到镜像仓库
docker push [options] name[:tag]
options
--disable-content-trust 忽略镜像的校验,默认开启
name 镜像名称,例如 docker.io/myrepo/nginx
tag 镜像版本,默认为 latest
1 | # 将latest镜像推送到默认镜像仓库 |
本地镜像管理
images列出镜像
列出镜像
docker images [options]
options
-a(--all) 显示所有镜像
-q(--quiet) 只显示镜像ID
-f(--filter) 根据条件过滤显示输出
--no-trunc 不截断输出
--format 格式化输出
1 | # 显示所有本地镜像 |
rmi删除镜像
删除一个或多个镜像
docker rmi [options] image [image…]
image 镜像的ID或名称
options
-a(--all-tags) 删除该仓库下的所有镜像
-f(--force) 强制删除镜像
-q(--quiet) 安静模式减少输出
--no-prune 不删除悬空的父镜像
1 | # 删除单个镜像 |
build构建镜像
构建镜像
docker build [options] path|url|-
path Dockerfile的目录路径
url 包含Dockerfile的远程地址
- 从标准输入读取Dockerfile
options
-t(--tag) 为构建的镜像指定名称和标签
-f(--file) 指定 Dockerfile 的路径
--build-arg 设置构建参数
--no-cache 不使用缓存层构建镜像
--rm 构建成功后删除中间容器
--force-rm 无论构建成功与否,一律删除中间容器
--pull 始终尝试从注册表拉取最新的基础镜像
1 | # 构建镜像 |
export导出容器
将容器文件系统导出为tar归档文件(只包含容器的文件系统)
docker export [options] container
options
-o(--output) 将输出保存到指定文件
1 | # 将容器的文件系统导出到标准输出 |
import导出容器
将容器文件系统导出为tar归档文件
docker import [options] file|URL|- [repository[:tag]]
file|URL|- 输入文件的路径、本地文件或 URL,或者使用 - 从标准输入读取
options
-c(--change) 在导入过程中应用 Dockerfile 指令
-m(--message) 为导入的镜像添加注释
1 | # 从本地tar文件导入镜像 |
save保存镜像
保存一个或多个镜像为tar归档文件(包含镜像的所有层)
docker save [options] image [image…]
options
-o(--output) 指定输出文件的路径
# 保存单个镜像 |
load加载镜像
load从 save命令生成的tar文件 中加载镜像
docker load [options]
options
-i(--input) 指定输入文件的路径
-q(--quiet) 安静模式减少输出
# 从文件加载镜像 |
容器生命周期管理
run运行容器
根据镜像创建并启动容器
docker run [options] image [command][arg…]
options
--name 指定名称
-it 交互式运行容器,分配一个伪终端
-p(--publish) 端口映射(host_port:container_port)
-v(--volume) 挂载卷(host_dir:container_dir)
-e(--env) 设置环境变量
-u(--user) 指定用户
-m(--memory) 内存限制
--memory-swap 限制内存加交换内存
--rm 容器退出时自动移除
--restart 设置容器的重启策略(no/no-failure/always/unless-stopped)
--network 指定容器的网络模式
--detach 在后台创建容器
--privileged 授予此容器扩展权限
1 | # 拉取镜像并启动一个容器 |
create创建容器
同 run运行容器
start/stop/restart启动/停止/重启容器
启动/停止/重启容器
docker start/stop/restart container
container 可以为容器的ID或名称
1 | # 启动容器 |
kill终止容器
立即终止一个或多个容器
docker kill container
1 | # 立即终止容器 |
rm删除容器
删除一个或多个已停止的容器
docker rm container
container 可以为容器的ID或名称
1 | # 删除单个已停止的容器 |
pause/unpause暂停/恢复容器
暂停/恢复容器
docker pause/unpause container
container 可以为容器的ID或名称
# 暂停容器,容器将被挂起不会被终止 |
容器操作
ps列出容器
列出容器
docker ps [options]
options
-a(--all) 显示所有容器
-q(--quiet) 只显示容器ID
-l(--latest) 显示最近创建的一个容器
-f(--filter) 根据条件过滤显示的容器
-s(--size) 显示容器的大小
-n 显示最近创建的n个容器
--no-trunc 不截断输出
--format 格式化输出
容器的状态:created/restarting/running/removing/paused/exited/dead
1 | # 显示所有运行中的容器 |
inspect获取详细信息
获取容器/镜像/卷/网络的详细信息
docker inspect image/container/volume/network
操作对象为ID或名称
1 | # 获取镜像的详细信息 |
top显示容器中运行的进程
显示指定容器中运行的进程
docker top container
# 显示nginx中运行的进程 |
logs查看容器中的日志
查看容器中的日志
docker logs [options] container
options
-n(--tail) 从日志末尾开始显示的行数
-t(--timestamps) 显示时间戳
-f(--follow) 跟随日志输出
--details 显示提供给日志的额外详细信息
--since 显示某个时间之后的日志
1 | # 显示容器中的所有 |
stats查看容器资源使用
查看容器资源使用情况
docker stats [options] [container]
options
-a(--all) 显示所有的容器
--no-stream 只展示当前状态,不实时更新
--no-trunc 不截断输出
--format 指定返回值的模板文件
1 | # 显示所有运行的容器的资源使用情况 |
info详细信息
显示docker系统的详细信息
docker info |
cp文件复制
用于容器和宿主机之间复制文件或目录
docker cp [options] src container:target
docker cp [options] container:src target
container 容器的ID或名称
1 | # 从宿主机复制文件 到 容器 |
exec执行命令
用于在运行的容器中执行命令
docker exec [options] container command [arg…]
options
-d(--detach) 在后台运行命令
-e(--env) 设置环境变量
-u(--user) 以指定用户的身份运行命令
-it 交互模式,分配一个伪终端
-w(--workdir) 指定命令的工作目录
--privileged 给这个命令额外的权限
1 | # 在容器中运行命令 |
- 本文作者: MKLab
- 本文链接: https://www.mklab.cn/docker/cmd/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!