Docker命令大全

Docker命令大全以上是 Docker 的一些常用命令 通过这些命令 你可以管理 Docker 镜像 容器 网络 数据卷等

引言

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,也可以实现虚拟化。以下是一些常用的Docker命令及其详细解释:

Docker镜像操作命令

docker pull

从Docker Hub或其他Docker注册服务器下载镜像。

docker pull [OPTIONS] NAME[:TAG|@DIGEST]
  • OPTIONS:
    • --all-tags-a: 下载存储库的所有标签
    • --disable-content-trust: 跳过镜像验证
  • NAME: 镜像名称
  • TAG|@DIGEST: 镜像标签或摘要

docker images

列出所有本地镜像。

docker images [OPTIONS] [REPOSITORY[:TAG]]
  • OPTIONS:
    • --all-a: 显示所有镜像(默认隐藏中间层镜像)
    • --digests: 显示摘要
    • --filter-f: 根据提供的条件过滤输出
    • --format: 使用Go模板打印漂亮的输出
    • --no-trunc: 不要截断输出
    • --quiet-q: 只显示镜像ID
  • REPOSITORY[:TAG]: 镜像名称和标签

docker rmi

删除一个或多个镜像。

docker rmi [OPTIONS] IMAGE [IMAGE...]
  • OPTIONS:
    • --force-f: 强制删除镜像
    • --no-prune: 不删除未标记的父镜像
  • IMAGE: 镜像名称或ID

docker build

使用Dockerfile创建一个新的镜像。

docker build [OPTIONS] PATH | URL | -
  • OPTIONS:
    • --build-arg: 设置构建时的变量
    • --cpu-shares: CPU份额(相对权重)
    • --cpu-period: CPU CFS(完全公平调度器)周期
    • --cpu-quota: CPU CFS配额
    • --cpuset-cpus: 允许执行的CPU
    • --cpuset-mems: 允许执行的内存节点
    • --disable-content-trust: 跳过镜像验证
    • --file-f: 指定Dockerfile路径
    • --force-rm: 总是删除中间容器
    • --isolation: 容器隔离技术
    • --label: 设置镜像使用的数据
    • --memory-m: 设置内存限制
    • --memory-swap: 设置交换限制为内存+交换,-1表示无限制
    • --no-cache: 构建镜像过程中不使用缓存
    • --pull: 总是尝试获取更新版本的镜像
    • --quiet-q: 抑制构建输出
    • --rm: 构建成功后删除中间容器
    • --shm-size/dev/shm的大小
    • --tag-t: 镜像的名字及标签
    • --ulimit: Ulimit选项
  • PATH | URL | -: Dockerfile的路径或URL,或使用-从标准输入读取Dockerfile

docker tag

为镜像添加标签。

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
  • SOURCE_IMAGE[:TAG]: 源镜像名称和标签
  • TARGET_IMAGE[:TAG]: 目标镜像名称和标签

Docker容器操作命令

docker run

创建一个新的容器并运行一个命令。

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
  • OPTIONS:
    • --detach-d: 在后台运行容器并打印容器ID
    • --name: 为容器指定一个名称
    • --publish-p: 发布容器的端口到主机
    • --restart: 容器退出时的重启策略
    • --rm: 容器退出时自动删除
    • --volume-v: 绑定一个卷
    • --env-e: 设置环境变量
    • --link: 添加链接到另一个容器
    • --expose: 暴露一个端口或一组端口
    • --network: 连接到网络
    • --ip: 为容器指定IP地址
    • --dns: 设置自定义DNS服务器
    • --entrypoint: 覆盖默认的ENTRYPOINT
    • --user-u: 指定运行用户
    • --workdir-w: 工作目录
    • --add-host: 添加自定义主机到/etc/hosts
    • --hostname-h: 容器的主机名
    • --read-only: 将容器文件系统设置为只读
    • --pid: 与主机上的另一个容器共享进程命名空间
    • --ipc: 与主机上的另一个容器共享IPC命名空间
    • --uts: 与主机上的另一个容器共享UTS命名空间
    • --security-opt: 安全选项
    • --cap-add: 添加Linux能力
    • --cap-drop: 删除Linux能力
    • --privileged: 给予扩展的权限
    • --device: 添加主机设备给容器
    • --tmpfs: 挂载一个tmpfs目录
    • --stop-signal: 设置停止容器的信号
    • --stop-timeout: 容器停止超时时间
    • --health-cmd: 健康检查命令
    • --health-interval: 健康检查间隔
    • --health-retries: 健康检查重试次数
    • --health-timeout: 健康检查超时时间
    • --health-start-period: 应用健康检查前的初始延迟
  • IMAGE: 使用的镜像
  • COMMAND: 在容器中运行的命令
  • ARG...: 传递给命令的参数

docker ps

列出所有正在运行的容器。

docker ps [OPTIONS]
  • OPTIONS:
    • --all-a: 显示所有容器(默认只显示正在运行的)
    • --filter-f: 根据提供的条件过滤输出
    • --format: 使用Go模板打印漂亮的输出
    • --last-n: 显示最后创建的n个容器
    • --latest-l: 显示最新创建的容器(包括所有状态)
    • --no-trunc: 不要截断输出
    • --quiet-q: 只显示容器ID
    • --size-s: 显示总文件大小

docker stop

停止一个或多个正在运行的容器。

docker stop [OPTIONS] CONTAINER [CONTAINER...]
  • OPTIONS:
    • --time-t: 在停止容器之前等待的秒数
  • CONTAINER: 容器名称或ID

docker rm

删除一个或多个容器。

docker rm [OPTIONS] CONTAINER [CONTAINER...]
  • OPTIONS:
    • --force-f: 强制删除正在运行的容器(使用SIGKILL)
    • --link-l: 删除指定的链接
    • --volumes-v: 删除与容器关联的匿名卷
  • CONTAINER: 容器名称或ID

docker exec

在运行的容器中执行命令。

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
  • OPTIONS:
    • --detach-d: 在后台运行命令
    • --interactive-i: 保持STDIN打开
    • --tty-t: 分配一个伪终端
    • --user-u: 以指定的用户身份运行命令
    • --workdir-w: 在容器内的工作目录
  • CONTAINER: 容器名称或ID
  • COMMAND: 要执行的命令
  • ARG...: 传递给命令的参数

docker start

启动一个或多个已停止的容器。

docker start [OPTIONS] CONTAINER [CONTAINER...]
  • OPTIONS:
    • --attach-a: 附加STDIN、STDOUT和STDERR
    • --interactive-i: 附加容器的STDIN
  • CONTAINER: 容器名称或ID

docker restart

重启一个或多个正在运行的容器。

docker restart [OPTIONS] CONTAINER [CONTAINER...]
  • OPTIONS:
    • --time-t: 在停止容器之前等待的秒数
  • CONTAINER: 容器名称或ID

Docker网络操作命令

docker network

管理Docker网络。

docker network COMMAND
  • COMMAND:
    • connect: 连接一个容器到一个网络
    • create: 创建一个网络
    • disconnect: 断开一个容器的网络
    • inspect: 显示一个或多个网络的详细信息
    • ls: 列出所有网络
    • prune: 删除所有未使用的网络
    • rm: 删除一个或多个网络

docker network create

创建一个网络。

docker network create [OPTIONS] NETWORK
  • OPTIONS:
    • --driver-d: 指定网络驱动
    • --ip-range: 为容器分配IP地址的范围
    • --subnet: 子网在局域网中的IP段
    • --gateway: 子网的IP地址
    • --ipv6: 启用IPv6网络
    • --internal: 限制外部访问
    • --label: 设置网络使用的数据
  • NETWORK: 网络名称

docker network connect

连接一个容器到一个网络。

docker network connect [OPTIONS] NETWORK CONTAINER
  • OPTIONS:
    • --alias: 为容器在网络上添加网络范围别名
    • --ip: 为容器指定IP地址
    • --ip6: 为容器指定IPv6地址
    • --link: 添加链接到另一个容器
    • --link-local-ip: 为容器添加一个链接范围IP地址
  • NETWORK: 网络名称
  • CONTAINER: 容器名称或ID

docker network disconnect

断开一个容器的网络。

docker network disconnect [OPTIONS] NETWORK CONTAINER
  • NETWORK: 网络名称
  • CONTAINER: 容器名称或ID

Docker数据管理命令

docker volume

管理Docker卷。

docker volume COMMAND
  • COMMAND:
    • create: 创建一个卷
    • inspect: 显示一个或多个卷的详细信息
    • ls: 列出所有卷
    • prune: 删除未使用的卷
    • rm: 删除一个或多个卷

docker volume create

创建一个卷。

docker volume create [OPTIONS] [VOLUME]
  • OPTIONS:
    • --driver-d: 指定卷驱动
    • --label: 设置卷使用的数据
  • VOLUME: 卷名称

docker volume inspect

显示一个或多个卷的详细信息。

docker volume inspect [OPTIONS] VOLUME [VOLUME...]
  • VOLUME: 卷名称

docker volume rm

删除一个或多个卷。

docker volume rm [OPTIONS] VOLUME [VOLUME...]
  • VOLUME: 卷名称

Docker系统信息命令

docker info

显示Docker系统的信息。

docker info [OPTIONS]
  • OPTIONS:
    • --format: 使用Go模板打印漂亮的输出

docker system df

显示Docker磁盘使用情况。

docker system df [OPTIONS]
  • OPTIONS:
    • --verbose-v: 显示详细信息

Docker其他常用命令

docker logs

获取容器的日志。

docker logs [OPTIONS] CONTAINER
  • OPTIONS:
    • --details: 显示额外的细节
    • --follow-f: 跟踪日志输出
    • --since: 显示自某个时间戳之后的日志
    • --tail-n: 从日志末尾显示多少行
    • --timestamps-t: 显示时间戳
    • --until: 显示自某个时间戳之前的日志
  • CONTAINER: 容器名称或ID

docker commit

从容器的更改创建一个新的镜像。

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
  • OPTIONS:
    • --author: 作者信息
    • --change-c: 应用Dockerfile指令来创建镜像
    • --message-m: 提交消息
    • --pause-p: 在提交期间暂停容器
  • CONTAINER: 容器名称或ID
  • REPOSITORY[:TAG]: 新镜像的名称和标签

docker history

显示一个镜像的历史。

docker history [OPTIONS] IMAGE
  • OPTIONS:
    • --human-H: 以可读的格式打印大小和日期
    • --no-trunc: 不要截断输出
    • --quiet-q: 只显示ID
  • IMAGE: 镜像名称或ID

docker inspect

显示一个或多个容器或镜像的详细信息。

docker inspect [OPTIONS] NAME|ID [NAME|ID...]
  • OPTIONS:
    • --format-f: 使用Go模板打印漂亮的输出

docker cp

在本地文件系统和容器之间复制文件/文件夹。

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
  • OPTIONS:
    • --archive-a: 复制并解压文件或目录
    • --follow-link: 始终复制符号链接本身
  • CONTAINER:SRC_PATH: 容器中的源路径
  • DEST_PATH|-: 本地目标路径或-表示将内容写入标准输出
  • SRC_PATH|-: 本地源路径或-表示从标准输入读取内容

docker diff

检查容器文件系统的更改。

docker diff CONTAINER
  • CONTAINER: 容器名称或ID

docker update --restart always

修改容器为自启动。

docker update --restart always CONTAINER
  • CONTAINER: 容器名称或ID

 

Docker Compose命令

docker-compose up

启动并运行整个应用栈。

docker-compose up [options] [--scale SERVICE=NUM...] [SERVICE...]
  • options:
    • -d: 在后台运行容器
    • --no-color: 不使用颜色
    • --no-deps: 不启动服务所依赖的服务
    • --force-recreate: 重新创建容器
    • --build: 在启动容器前构建镜像
  • SERVICE: 服务名称

docker-compose down

停止并删除整个应用栈。

docker-compose down [options]
  • options:
    • -v--volumes: 删除命名的卷
    • --rmi: 删除所有服务的镜像

docker-compose ps

列出项目中所有容器。

docker-compose ps [options] [SERVICE...]
  • options:
    • -q--quiet: 只显示ID
  • SERVICE: 服务名称

docker-compose build

构建或重新构建服务。

docker-compose build [options] [--build-arg key=val...] [SERVICE...]
  • options:
    • --no-cache: 构建镜像过程中不使用缓存
    • --force-rm: 总是删除中间容器
    • --pull: 总是尝试获取更新版本的镜像
  • SERVICE: 服务名称

docker-compose config

验证和查看Compose文件。

docker-compose config [options]
  • options:
    • --resolve-image-digests: 将镜像标签解析为摘要
    • --services: 只打印服务名称
    • --volumes: 只打印卷名称

总结

以上是Docker的一些常用命令,通过这些命令,你可以管理Docker镜像、容器、网络、数据卷等。熟练掌握这些命令可以极大地提高Docker的使用效率。

今天的文章 Docker命令大全分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2024-12-30 21:06
下一篇 2024-12-30 21:01

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/91935.html