最全的docker命令参数解释及命令用法

简介: 本文系统详解Docker核心命令,涵盖容器(run/exec/ps/start/stop等)、镜像(pull/build/push/rmi等)、网络、数据卷及全局参数,并配实操示例与可直接执行的命令,助初学者快速掌握Docker日常运维与开发应用。

简介

该文详细介绍了docker命令的一系列用法,对命中的各种参数进行解释,并通过一些实践来进行说明该命令的用法,可以复制对应的命令在docker环境下进行执行来辅助理解。

一.docker参数详解

1.1 用法:docker[OPTIONS]COMMAND

容器的自给自足的运行时
常用命令:

  • run: 从映像创建并运行新容器
  • exec: 在运行的容器中执行命令
  • ps: 列出容器
  • build: 从Dockerfile构建映像
  • pull: 从注册表下载图像
  • push: 将图像上载到注册表
  • images: 列出图像
  • login: 登录到注册表
  • logout: 从注册表注销
  • search: 搜索Docker Hub以获取图像
  • version: 显示Docker版本信息
  • info: 显示系统范围的信息

1.2 管理命令:

  • buider: 管理生成
  • buildx*: Docker buildx(Docker股份有限公司,版本0.11.2)
  • compose*: Docker compose(Docker股份有限公司v2.21.0)
  • container: 管理容器
  • context: 管理上下文
  • image: 管理图像
  • manifest: 管理Docker映像清单和清单列表
  • network: 管理网络
  • plugin: 管理插件
  • system: 管理Docker
  • trust: 对Docker映像的信任
  • volume: 管理卷

    1.3 Swarm命令:

  • swarm: 管理swarm

    1.4 命令:

  • attach: 将本地标准输入、输出和错误流附加到正在运行的容器
  • commit: 根据容器的更改创建新映像
  • cp: 在容器和本地文件系统之间复制文件/文件夹
  • create: 创建一个新容器
  • diff: 检查对容器文件系统上的文件或目录的更改
  • events: 从服务器获取实时事件
  • export: 将容器的文件系统导出为tar存档
  • history: 显示图像的历史记录
  • import: 从tarball导入内容以创建文件系统映像
  • inspect: 返回Docker对象的低级信息
  • kill: 杀死一个或多个正在运行的容器
  • load: 从tar存档或STDIN加载图像
  • logs: 获取容器的日志
  • pause: 暂停一个或多个容器中的所有进程
  • port: 列出容器的端口映射或特定映射
  • rename: 重命名容器
  • restart: 重新启动一个或多个容器
  • rm: 移除一个或多个容器
  • rmi: 删除一个或多个图像
  • save: 将一个或多个图像保存到tar存档(默认情况下流式传输到STDOUT)
  • start: 启动一个或多个停止的容器
  • stats: 显示容器资源使用情况统计信息的实时流
  • stop: 停止一个或多个正在运行的容器
  • tag: 创建引用SOURCE_IMAGE的标记TARGET_IMAGE
  • top: 显示容器的运行进程
  • unpause: 取消暂停一个或多个容器中的所有进程
  • update: 更新一个或多个容器的配置
  • wait: 阻止,直到一个或多个容器停止,然后打印它们的退出代码

    1.5全局选项:

  • --config string: 客户端配置文件的位置(默认为“/root/.docker”)
  • -c、 --context string: 用于连接到守护进程的上下文的名称(覆盖DOCKER_HOST env var和使用“DOCKER context use”设置的默认上下文)
  • -D、 --debug: 启用调试模式
  • -H、 --host list: 要连接到的主机列表守护程序套接字
  • -l、 --log-level string: 设置日志级别(“debug”、“info”、“warn”、“error”、“fatal”)(默认为“info”)
  • --tls: 使用tls;由--tlsverify暗示
  • --tlscacert string: 仅由该CA签名的信任证书(默认为“/root/.docker/CA.pem”)
  • --tlscert string: TLS证书文件的路径(默认为“/root/.docker/cert.pem”)
  • --tlskey string: TLS密钥文件的路径(默认为“/root/.docker/key.pem”)
  • --tlsverify: 使用TLS并验证远程
  • -v、 --version: 打印版本信息并退出
    有关命令的详细信息,请运行“docker COMMAND--help”。
    有关如何使用Docker的更多帮助,请访问https://docs.docker.com/go/guides/

二.容器操作相关

将docker常规的操作命令及用法进行讲解

2.1.查看容器列表

docker ps -a
执行结果:

CONTAINER ID   IMAGE          COMMAND                   CREATED        STATUS                      PORTS      NAMES
839f9bd5740a   43c8f6906b1b   "/bin/sh"                 9 days ago     Exited (0) 9 days ago                  happy_lichterman
4dac51122f21   43c8f6906b1b   "/bin/sh"                 9 days ago     Exited (0) 9 days ago                  sleepy_bhabha
720c5afa8248   43c8f6906b1b   "-it /bin/sh"             9 days ago     Created                                admiring_ritchie
d0c00dd30afc   8820935a464f   "/bin/sh"                 2 weeks ago    Exited (0) 2 weeks ago                 jovial_moser

2.2.启动容器

docker start id 其中id是列表中的第一列的CONTAINER ID

2.3.停止容器

docker stop id

2.4.强制停止容器

docker kill id

2.5.重启容器

docker restart id

2.6.查看容器内进程

docker top id

2.7.查看容器内细节

docker inspect id

2.8.创建容器

启动容器镜像id为imageId的镜像 docker run -it imageId /bin/sh

2.9.删除容器

docker delete id 其中id是列表中的第一列的CONTAINER ID

2.10.在容器中执行命令

docker exec id ls / 进入容器执行命令,其中id是列表中的第一列的CONTAINER ID

2.11.进入容器终端

docker exec -it id /bin/sh

2.12.查看容器日志

docker logs id

2.13.从容器中拷贝文件出来

docker cp id:/data/run.sh . 将容器中的/data/run.sh 拷贝到宿主机的当前目录
执行结:

Successfully copied 4.1kB to /data/temp/.

2.14.启动时端口映射

docker run -p <宿主机端口>:<容器端口> <镜像名>
例如:docker run -p 8080:80 nginxdocker run -p 8080:80 imageId 指定镜像的id

2.15.启动时目录映射

docker run -v <宿主机路径>:<容器内路径> <镜像名>
例如:docker run -v /data/mydocker:/home/docker nginx:latest

三.镜像类操作

3.1.查看镜像列表

docker images
执行结果:

REPOSITORY                                                                             TAG                         IMAGE ID       CREATED         SIZE
trafficserver-centos7-9.2.4                                                            latest                      76d191993f97   7 weeks ago     325MB
dokken/centos-stream-9                                                                 latest                      e26a4cdff267   7 weeks ago     308MB
<none>                                                                                 <none>                      4b2e08a52e68   7 weeks ago     264MB
<none>                                                                                 <none>                      f1fd2d2c8aa2   7 weeks ago     264MB
curlimages/curl                                                                        latest                      79009b90fb07   2 months ago    17.3MB
nginx                                                                                  latest                      92b11f67642b   4 months ago    187MB
alpine                                                                                 latest                      05455a08881e   4 months ago    7.38MB
<none>                                                                                 <none>                      de8caae3faba   5 months ago    77.5MB
memcached                                                                              latest                      4c07fb6d4e0a   5 months ago    106MB

3.2.登录镜像仓库

以阿里云镜像仓库为例:sudo docker login --username=ops-admin@xxx pcxxx-registry.cn-shenzhen.cr.aliyuncs.com,然后再输入ops-admin帐号的密码。

3.3.拉取镜像

docker pull nginx:latest

3.4.删除镜像

docker rmi IMAGEID IMAGEID 为镜像的ID可以从docker images中的第一列获取

3.5.重命名镜像名称

docker tag 《源镜像ID》 《新的镜像名称:tag》
例如:docker tag 9901b5599ad2 node:latest

3.6.构件镜像

docker build -t pcxxx-registry.cn-shenzhen.cr.aliyuncs.com/public/nginx:latest . 注意后边有一个点,表示当前目录

3.7.推送镜像

docker push pcxxx-registry.cn-shenzhen.cr.aliyuncs.com/public/nginx:latest 将构建好的镜像推送到镜像仓库

3.8.文件打包成镜像

docker import /path/to/yourimage.tar my-image:tag 将/path/to/yourimage.tar的导入成my-image:tag的镜像

3.9.将容器打包为镜像

docker commit b111630b6567 pcxxx-registry.cn-shenzhen.cr.aliyuncs.com/public/nginx:latest 将容器ID:b111630b6567 打包成镜像

3.10.导出容器为tar文件

docker save -o myimage.tar <image-id> 将镜像导出为tar包

四.docker容器网络模式

4.1.列出网络

docker network ls

4.2.创建网络

docker network create --subnet "172.100.0.0/16" milvus 创建一个网络名称为milvus 并划分网段是172.100.0.0/16

4.3.删除网络

docker network rm milvus 删除网络milvus

4.4.列出网络

docker network ls

五.数据卷操作

5.1.创建数据卷

docker volume create mytest

5.1.查看数据卷列表

docker volume ls

5.1.查看数据卷信息

docker volume inspect mytest
执行结果:

[
    {
    
        "CreatedAt": "2024-06-17T14:29:18+08:00",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/data/docker/volumes/mytest/_data",
        "Name": "mytest",
        "Options": null,
        "Scope": "local"
    }
]

5.1.删除数据卷

docker volume rm mytest

数据卷的用法

将创建的volume 故障到容器内
docker run -v mytest:/path/in/container imageId

目录
相关文章
|
1月前
|
Kubernetes 应用服务中间件 nginx
最全的kubectl命令用法
本文系统讲解kubectl命令行工具:详解所有子命令(创建、查询、部署、调试等)、API资源列表、自动补全配置,并通过大量实操示例(如创建/查看/编辑/删除资源、扩缩容、回滚、标签管理等)助你快速掌握Kubernetes集群管理核心技能。(239字)
507 143
|
2月前
|
运维 Linux Shell
Docker教程
Docker 是一个开源容器化平台,通过镜像和容器实现应用的快速部署与隔离。本文详细介绍 Docker 的核心概念与常用命令:包括镜像管理(查看、拉取、构建、导出/导入)、容器操作(启动、停止、日志、执行命令)、数据卷与网络配置、Dockerfile 编写、Compose 编排及镜像加速设置,帮助用户高效使用 Docker 进行开发与运维。
281 1
|
8天前
|
安全 应用服务中间件 nginx
Docker 命令大全:从入门到生产,全场景核心指令全覆盖
本文系统讲解Docker核心原理与实战命令,涵盖Namespace、CGroup、UnionFS三大底层机制,详解镜像构建/拉取/安全扫描、容器全生命周期管理、数据卷与网络配置、Compose编排及生产最佳实践,内容全面、示例丰富、贴合v27.0.3最新版。
319 2
|
1月前
|
运维 Kubernetes 应用服务中间件
一文讲解kubernetes的gateway Api的功能、架构、部署、管理及使用
Gateway API是Kubernetes官方推出的下一代L4/L7网络网关标准,面向角色(基础设施商、运维、开发)、可移植、表达力强且高度可扩展。它通过GatewayClass、Gateway、HTTPRoute等资源实现权限分离与策略即代码,替代Ingress短板,已获Istio、Envoy、ASM等主流支持。
693 119
|
2月前
|
资源调度 Kubernetes 监控
一文掌握k8s容器的资源限制
在Kubernetes中,合理设置容器的资源请求与限制可保障集群资源高效利用。通过定义CPU和内存的requests与limits,防止资源滥用,提升应用稳定性。结合命名空间配额与工具如xkube,可实现多集群统一管理与可视化配置,优化资源调度。
364 3
|
2月前
|
Kubernetes Cloud Native 安全
一文掌握k8s容器的生命周期
容器生命周期钩子是Kubernetes核心机制,支持在容器启动后(postStart)和终止前(preStop)执行自定义逻辑,实现服务注册、优雅停机等操作。结合启动命令,可精细控制应用生命周期,提升云原生应用稳定性与可靠性。
319 4
一文掌握k8s容器的生命周期
|
网络协议 应用服务中间件 Shell
21-Docker-常用命令详解-docker run
21-Docker-常用命令详解-docker run
|
2月前
|
存储 数据采集 弹性计算
面向多租户云的 IO 智能诊断:从异常发现到分钟级定位
当 iowait 暴涨、IO 延迟飙升时,你是否还在手忙脚乱翻日志?阿里云 IO 一键诊断基于动态阈值模型与智能采集机制,实现异常秒级感知、现场自动抓取、根因结构化输出,让每一次 IO 波动都有据可查,真正实现从“被动响应”到“主动洞察”的跃迁。
388 66