引言
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
: 容器名称或IDCOMMAND
: 要执行的命令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
: 容器名称或IDREPOSITORY[: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命令大全分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/91935.html