docker run 命令30个常用参数详解

news2024/12/25 9:16:43

文章目录

  • 0.前言
    • docker run 命令示例
  • 2.Docker run 多种用法
    • 知其然知其所以然
      • 1. 基本用法
      • 2. 启动交互式容器
      • 3. 映射端口
      • 4. 挂载文件/目录
      • 5. 设置环境变量
      • 6. 指定容器名称
      • 7. 后台运行容器
      • 8. 重启策略
      • 9. 其他参数
    • 2. docker run 命令参数详解
        • 1. `-d`:以后台模式(detached mode)运行容器,即在容器启动后将其放入后台运行。
        • 2. `-it`:以交互模式(interactive mode)运行容器,即启动一个新的终端会话并连接到正在运行的容器。
        • 3. `--name`:为容器指定一个名称。
        • 4. `-p`:将容器的端口映射到主机的端口。
        • 5. `-v`:将主机的目录或文件挂载到容器中。
        • 6. `--network`:指定容器使用的网络类型。
        • 7. `--env`:设置容器的环境变量。
        • 8. `--rm`:容器退出时自动删除容器。这在临时容器中非常有用。
        • 9. `--link`:将容器连接到另一个容器。
        • 10. `--privileged`:以特权模式运行容器,具有访问主机系统的权限。
        • 11. `--volume-driver`:指定容器数据卷的驱动程序。
        • 12. `--ulimit`:设置容器的资源限制。
        • 13. `--detach-keys`:指定分离容器的键盘序列。
        • 14. `--env-file`:从文件中读取环境变量。
        • 15. `--hostname`:设置容器的主机名。
        • 16. `--dns`:设置容器使用的 DNS 服务器。
        • 17. `--shm-size`:设置容器的共享内存大小。
        • 18. `--link`:连接到其他容器。
        • 19. `--restart`:设置容器的重启策略。
        • 20. `--cpu-shares`:设置容器的 CPU 份额。
        • 21. `--memory`:设置容器的内存限制。
        • 22. `--cap-add` 和 `--cap-drop`:添加或删除容器的特权。
        • 23. `--rm`:容器退出时自动删除容器。这在临时容器中非常有用。
        • 24. `--link`:将容器连接到另一个容器。
        • 25. `--privileged`:以特权模式运行容器,具有访问主机系统的权限。
        • 26. `--volume-driver`:指定容器数据卷的驱动程序。
        • 27. `--ulimit`:设置容器的资源限制。
  • 3.参考文档

0.前言

在这里插入图片描述

Docker run 命令是在 Docker 中创建和运行容器的主要命令之一。它允许根据需要配置容器的各种属性。 下面是 docker run 命令的一些常见用法和示例,我们共同学习。

docker run 命令示例

以下是一个比较常见的 Docker run 命令示例,用于创建一个 NGINX 容器:

docker run -d \
  --name my_nginx \
  -p 80:80 \
  -v /path/to/nginx/conf:/etc/nginx/conf.d \
  -v /path/to/nginx/html:/usr/share/nginx/html \
  nginx:latest
  • -d: 在后台以守护进程模式运行容器。
  • --name my_nginx: 为容器指定一个名称(可以根据需要更改为您喜欢的名称)。
  • -p 80:80: 将主机的端口 80 映射到容器的端口 80。这样,您可以通过访问 http://localhost 来访问 NGINX 容器中的网站。
  • -v /path/to/nginx/conf:/etc/nginx/conf.d: 将主机上的 NGINX 配置文件目录挂载到容器中的 /etc/nginx/conf.d 目录,以便使用自定义的 NGINX 配置。
  • -v /path/to/nginx/html:/usr/share/nginx/html: 将主机上的 HTML 文件目录挂载到容器中的 /usr/share/nginx/html 目录,以便在容器中提供自定义的静态网页内容。
  • nginx:latest: 指定要使用的 NGINX 镜像及其标签(可以根据实际情况替换为您自己的镜像名称和标签)。
    Docker run 命令是在 Docker 中创建和运行容器的主要命令之一。它允许您根据需要配置容器的各种属性。以下是 Docker run 命令的30个常用参数的详细解释和示例用法,帮助您更好地理解和使用这些参数。
  1. -d--detach:以后台模式运行容器,将容器放置在后台运行,作为守护进程。
    示例:docker run -d image_name

  2. -it:以交互模式运行容器,允许与容器进行交互。
    示例:docker run -it image_name

  3. --name:为容器指定一个名称。
    示例:docker run --name container_name image_name

  4. -p:将容器的端口映射到主机上的一个端口。
    示例:docker run -p host_port:container_port image_name

  5. -v:挂载主机上的文件或目录到容器内部。
    示例:docker run -v host_path:container_path image_name

  6. -e:设置容器的环境变量。
    示例:docker run -e ENV_VARIABLE=value image_name

  7. --restart:指定容器在退出时的重启策略。
    示例:docker run --restart=always image_name

  8. --link:将容器连接到另一个容器,在两个容器之间建立网络连接。
    示例:docker run --link container_name:image_alias image_name

  9. --dns:指定容器使用的自定义 DNS 服务器。
    示例:docker run --dns 8.8.8.8 image_name

  10. --dns-search:指定容器的 DNS 搜索域。
    示例:docker run --dns-search example.com image_name

  11. --cap-add--cap-drop:增加或删除容器的 Linux 能力,用于控制容器的权限。
    示例:docker run --cap-add=SYS_ADMIN image_name

  12. --privileged:给容器赋予特权,可以访问主机的设备。
    示例:docker run --privileged image_name

  13. --tmpfs:在容器内创建临时文件系统,用于存储临时数据。
    示例:docker run --tmpfs /tmp image_name

  14. --ulimit:设置容器的资源限制,如最大打开文件数、最大进程数等。
    示例:docker run --ulimit nofile=1024:1024 image_name

  15. --security-opt:设置容器的安全选项,如 AppArmor 配置、Seccomp 配置等。
    示例:docker run --security-opt seccomp:unconfined image_name

  16. --cpu-shares:设置容器的 CPU 份额,用于控制 CPU 资源的分配。
    示例:docker run --cpu-shares 512 image_name

  17. --memory:设置容器可使用的内存限制。
    示例:docker run --memory 1g image_name

  18. --network:指定容器使用的网络模式。
    示例:docker run --network bridge image_name

  19. --hostname:设置容器的主机名。
    示例:docker run --hostname my_container image_name

  20. --user:指定容器运行时的用户名或 UID。
    示例:docker run --user username image_name

  21. --volume-driver:指定容器使用的卷驱动程序。
    示例:docker run --volume-driver my_driver image_name

  22. --shm-size:设置容器的共享内存大小。
    示例:docker run --shm-size 2g image_name

  23. --add-host:向容器的 /etc/hosts 文件添加自定义主机名和 IP 映射。
    示例:docker run --add-host myhost:192.168.0.100 image_name

  24. --read-only:将容器的文件系统设置为只读模式。
    示例:docker run --read-only image_name25. –cpu-quota:设置容器的 CPU 配额,以微秒为单位。 示例:docker run --cpu-quota=50000 image_name`

  25. --cpu-period:设置容器的 CPU 周期,以微秒为单位。
    示例:docker run --cpu-period=100000 image_name

  26. --dns-option:为容器的 DNS 配置添加自定义选项。
    示例:docker run --dns-option=timeout:5 image_name

  27. --sysctl:设置容器的内核参数。
    示例:docker run --sysctl net.ipv4.ip_forward=1 image_name

  28. --label:为容器添加标签,用于识别和组织容器。
    示例:docker run --label env=production image_name

  29. --workdir:设置容器的工作目录。
    示例:docker run --workdir /app image_name

2.Docker run 多种用法

知其然知其所以然

Docker run 命令是用于创建和运行容器的主要命令之一。它可以根据提供的参数配置容器的各种属性。下面是 Docker run 命令的一些常见用法和示例,从入门到精通,帮助您更好地理解和使用该命令。

1. 基本用法

最简单的 Docker run 命令形式如下:

docker run image_name

这将使用指定的镜像创建一个新的容器,并在容器中运行默认的启动命令。

2. 启动交互式容器

使用 -it 参数可以启动一个交互式容器,允许您与容器进行交互,类似于在终端中打开一个新的会话:

docker run -it image_name

这将在容器内打开一个新的终端,并将您连接到容器的标准输入(stdin)。

3. 映射端口

使用 -p 参数可以将容器的端口映射到主机上的一个端口,以便可以通过主机访问容器中运行的服务:

docker run -p host_port:container_port image_name

例如,将容器的端口 8080 映射到主机的端口 80:

docker run -p 80:8080 image_name

这样,您可以通过访问 http://localhost 来访问容器中的服务。

4. 挂载文件/目录

使用 -v 参数可以将主机上的文件或目录挂载到容器内部,实现主机和容器之间的文件共享:

docker run -v host_path:container_path image_name

例如,将主机上的 /path/to/host/directory 目录挂载到容器的 /path/to/container/directory 目录:

docker run -v /path/to/host/directory:/path/to/container/directory image_name

这样,容器内部的操作将反映在主机上的相应目录中,实现了数据的共享和持久化。

5. 设置环境变量

使用 -e 参数可以设置容器的环境变量:

docker run -e ENV_VARIABLE=value image_name

例如,设置一个名为 DATABASE_URL 的环境变量:

docker run -e DATABASE_URL=mysql://user:password@host:port/database image_name

这样,在容器内部可以通过读取该环境变量来配置应用程序。

6. 指定容器名称

使用 --name 参数可以为容器指定一个名称:

docker run --name container_name image_name

例如:

docker run --name my_container image_name

这样,您可以使用容器名称来管理和操作容器,而不仅仅依赖于容器的 ID。

7. 后台运行容器

使用 -d 参数可以将容器放置在后台运行,作为守护进程:

docker run -d image_name

8. 重启策略

使用 --restart 参数可以指定容器在退出时的重启策略,常见的选项有 noon-failure[:max-retries]alwaysunless-stopped

docker run --restart=always image_name

这将在容器退出时自动重新启动容器,确保容器的持续可用性。

9. 其他参数

除了上面的常用的参数,其实还有一些参数也是比较有用的
Docker run 还有许多其他参数可用于更高级的容器配置,如网络设置、安全选项、资源限制等

  1. --restart:指定容器在退出时的重启策略,可选值为 noon-failure[:max-retries]alwaysunless-stopped
    例如:docker run --restart=always image_name

  2. --link:将容器连接到另一个容器,在两个容器之间建立网络连接。
    例如:docker run --link container_name:image_alias image_name

  3. --dns:指定容器使用的自定义 DNS 服务器。
    例如:docker run --dns 8.8.8.8 image_name

  4. --dns-search:指定容器的 DNS 搜索域。
    例如:docker run --dns-search example.com image_name

  5. --cap-add--cap-drop:增加或删除容器的 Linux 能力,用于控制容器的权限。
    例如:docker run --cap-add=SYS_ADMIN image_name

  6. --privileged:给容器赋予特权,可以访问主机的设备。
    例如:docker run --privileged image_name

  7. --tmpfs:在容器内创建临时文件系统,用于存储临时数据。
    例如:docker run --tmpfs /tmp image_name

  8. --ulimit:设置容器的资源限制,如最大打开文件数、最大进程数等。
    例如:docker run --ulimit nofile=1024:1024 image_name

  9. --security-opt:设置容器的安全选项,如 AppArmor 配置、Seccomp 配置等。
    例如:docker run --security-opt seccomp:unconfined image_name

  10. --cpu-shares:设置容器的 CPU 份额,用于控制 CPU 资源的分配。
    例如:docker run --cpu-shares 512 image_name

  11. --memory:设置容器可使用的内存限制。
    例如:docker run --memory 1g image_name

2. docker run 命令参数详解

docker run命令是Docker中用于创建并运行容器的命令。它有许多参数,用于控制容器的运行方式、网络连接、环境变量等。下面是对一些常用参数的详细解释:

1. -d:以后台模式(detached mode)运行容器,即在容器启动后将其放入后台运行。

`docker run -d image_name

2. -it:以交互模式(interactive mode)运行容器,即启动一个新的终端会话并连接到正在运行的容器。

   docker run -it image_name
``

3. --name:为容器指定一个名称。

`docker run --name container_name image_name

4. -p:将容器的端口映射到主机的端口。

`docker run -p host_port:container_port image_name

这个参数允许你将容器内部的端口映射到主机上,以便可以通过主机的端口访问容器内的服务。

5. -v:将主机的目录或文件挂载到容器中。

`docker run -v host_path:container_path image_name

这个参数允许你将主机上的目录或文件挂载到容器中,以便在容器中使用或共享数据。

6. --network:指定容器使用的网络类型。

`docker run --network network_name image_name

这个参数允许你将容器连接到指定的网络,以便容器可以与其他容器或主机进行通信。

7. --env:设置容器的环境变量。

`docker run --env key=value image_name

这个参数允许你在容器中设置环境变量,以便容器内的应用程序可以使用这些变量。

8. --rm:容器退出时自动删除容器。这在临时容器中非常有用。

`docker run --rm image_name

9. --link:将容器连接到另一个容器。

`docker run --link container_name:image_alias image_name

这个参数允许你将一个容器连接到另一个容器,以便容器之间可以进行通信。

10. --privileged:以特权模式运行容器,具有访问主机系统的权限。

`docker run --privileged image_name
这个参数允许容器访问主机的设备,以便执行特权操作。

11. --volume-driver:指定容器数据卷的驱动程序。

`docker run --volume-driver driver_name -v volume_name:image_name
这个参数允许你指定一个自定义的数据卷驱动程序,以便在容器中使用数据卷。

12. --ulimit:设置容器的资源限制。

`docker run --ulimit resource_name=value image_name
这个参数允许你设置容器的资源限制,如最大打开文件数、最大进程数等。

13. --detach-keys:指定分离容器的键盘序列。

`docker run --detach-keys="ctrl-]" image_name
这个参数允许你自定义分离容器的键盘序列,用于在交互模式下分离容器。

14. --env-file:从文件中读取环境变量。

`docker run --env-file=file_path image_name
这个参数允许你从文件中读取环境变量,并将其传递给容器。

15. --hostname:设置容器的主机名。

`docker run --hostname=custom_hostname image_name
这个参数允许你为容器设置一个自定义的主机名。

16. --dns:设置容器使用的 DNS 服务器。

`docker run --dns=dns_server_ip image_name
这个参数允许你为容器设置使用特定的 DNS 服务器进行域名解析。

17. --shm-size:设置容器的共享内存大小。

`docker run --shm-size=2g image_name
这个参数允许你为容器设置共享内存的大小,以便容器可以使用更多的内存资源。

18. --link:连接到其他容器。

`docker run --link=container_name:image_alias image_name
这个参数允许你将一个容器连接到另一个容器,并为连接的容器指定一个别名。

19. --restart:设置容器的重启策略。

`docker run --restart=always image_name
这个参数允许你设置容器在退出时的重启策略,可以设置为 `no`、`on-failure` 或 `always`。

20. --cpu-shares:设置容器的 CPU 份额。

`docker run --cpu-shares=512 image_name
这个参数允许你为容器设置 CPU 的份额,用于控制容器在 CPU 资源竞争时的优先级。

21. --memory:设置容器的内存限制。

`docker run --memory=1g image_name
这个参数允许你为容器设置内存的限制,以确保容器不会占用过多的内存资源。

22. --cap-add--cap-drop:添加或删除容器的特权。

`docker run --cap-add=SYS_ADMIN image_name
这些参数允许你为容器添加或删除特定的权限,用于控制容器的安全性。

23. --rm:容器退出时自动删除容器。这在临时容器中非常有用。

`docker run --rm image_name

24. --link:将容器连接到另一个容器。

`docker run --link container_name:image_alias image_name
这个参数允许你将一个容器连接到另一个容器,以便容器之间可以进行通信。

25. --privileged:以特权模式运行容器,具有访问主机系统的权限。

`docker run --privileged image_name
这个参数允许容器访问主机的设备,以便执行特权操作。

26. --volume-driver:指定容器数据卷的驱动程序。

`docker run --volume-driver driver_name -v volume_name:image_name
这个参数允许你指定一个自定义的数据卷驱动程序,以便在容器中使用数据卷。

27. --ulimit:设置容器的资源限制。

`docker run --ulimit resource_name=value image_name
这个参数允许你设置容器的资源限制,如最大打开文件数、最大进程数等。

在这里插入图片描述

3.参考文档

  1. Docker run 命令参考: https://www.runoob.com/docker/docker-run-command.html
    Runoob 网站提供了一个简明的 Docker run 命令参考,解释了一些常用参数的含义和用法,并提供了示例。

  2. Docker run 命令文档: https://docs.docker.com/engine/reference/run/
    官方文档中关于 Docker run 命令的详细说明,包括所有参数的解释和示例用法。

  3. https://docker-curriculum.com/#docker-run
    这是一个国外的网站提供了一些具体的 Docker run 命令示例,涵盖了各种常见的用例和配置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/892623.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C# SolidWorks二次开发-第100篇 属性卡刷新方案

SolidWorks推出属性卡应该很多年了吧,毕竟可以用户自己定义界面,而且方便修改,毕竟点击自带的的属性按钮再去修改要操作好几次。 我们今天讲一个很简单的功能要求,就是在SolidWorks中实现零件的编码问题。 毕竟设计好的东西后面需…

修改el-table行悬停状态的背景颜色

.content:deep().el-table tr:hover>td {background-color: #f5f5f5 !important; /* 设置悬停时的背景颜色 */ }/*这一点很重要,否则可能会导致hover行时操作列还是原来的背景色*/ .content:deep().el-table__body tr.hover-row>td{background-color: #f5f5f5…

编写一个俄罗斯方块

编写俄罗斯方块 思路。 1、创建容器数组,方块, 2、下落,左右移动,旋转,判断结束,消除。 定义一个20行10列的数组表示游戏区。初始这个数组里用0填充,1表示有一个方块,2表示该方块固…

k8s容器加入host解析字段

一、通过edit或path来修改 kubectl edit deploy /xxxxx. x-n cattle-system xxxxx为你的资源对象名称 二、添加字段 三、code hostAliases:- hostnames:- www.rancher.localip: 10.10.2.180

【多目标跟踪】 FairMOT 耗时三天!!!单句翻译

多目标跟踪 FairMOT Abstract Multi-object tracking (MOT) is an important prob-lem in computer vision which has a wide range of applica-tions. Formulating MOT as multi-task learning of object de-tection and re-ID in a single network is appealing since ital…

Java minecraft(我的世界)环境部署

Java minecraft(我的世界)环境部署 博主博客 https://blog.uso6.comhttps://blog.csdn.net/dxk539687357 本文主要讲解我的世界的环境搭建, 包括搭建服务端和客户端, 为了避免不必要的麻烦最好是遵守 MINECRAFT 使用准则&#x…

AcrelEMS-SW智慧水务能效管理平台解决方案-安科瑞黄安南

系统概述 安科瑞电气具备从终端感知、边缘计算到能效管理平台的产品生态体系,AcrelEMS-SW智慧水务能效管理平台通过在污水厂源、网、荷、储、充的各个关键节点安装保护、监测、分析、治理装置,用于监测污水厂能耗总量和能耗强度,重点监测主要…

vue3和vue2 语法差异之v-model详细说明

文章目录 0.前言1.参考文档2.详细说明介绍2.x 语法使用 v-bind.sync 3.x 语法v-model 参数v-model 修饰符 迁移策略 3.总结 0.前言 在 Vue 3 中,v-model 的使用方式与 Vue 2 有一些差异。下面是 Vue 3 中 v-model 的一些主要变化: 组件上的默认绑定&…

信捷 XD PLC 16位整数转换为双精度浮点数

完成16位整数转换为双精度浮点数,信捷XD PLC需要两个指令,逐步转换,一个指令搞不定。 具体的: 第1步:int16->int32 第2步:int32->Double 例子,比如说将D0转换成浮点数放到D100~D103

卷积操作后特征图尺寸,感受野,参数量的计算

文章目录 1、输出特征图的尺寸大小2、感受野的计算3、卷积核的参数量 1、输出特征图的尺寸大小 如果包含空洞卷积,即扩张率dilation rate不为1时: 2、感受野的计算 例如,图像经过两个3*3,步长为2的卷积后感受野为: co…

linux--epoll

epoll 参考文献 https://www.cnblogs.com/lojunren/p/3856290.html https://www.51cto.com/article/717096.html linux下的I/O复用epoll详解 要深刻理解epoll,首先得了解epoll的三大关键要素:mmap、红黑树、链表。 IO多路复用 首先需要了解什么是IO多…

如何增强企业合同管理数字化能力

随着科技的发展和信息化时代的来临,企业在合同管理方面面临着日益复杂的挑战。传统的合同管理方式已经无法满足企业对合同管理效率和准确性的需求。因此,增强企业合同管理的数字化能力成为迫切的任务。 下面是一些关键步骤,可以帮助企业有效…

java+springboot+mysql理发会员管理系统

项目介绍: 使用javaspringbootmysql开发的理发会员管理系统,系统包含超级管理员,系统管理员、客户、发型师角色,功能如下: 超级管理员:管理员管理;会员管理;发型师管理&#xff1b…

spring详解

spring是于2003年兴起的一款轻量级的,非侵入式的IOC和AOP的一站式的java开发框架,为简化企业级应用开发而生。 轻量级的:指的是spring核心功能的jar包不大。 非侵入式的:业务代码不需要继承或实现spring中任何的类或接口 IOC&…

jeecg导出excel文件时候是id,展示名称的处理方式

一.问题描述: 在jeecg3.5.3版本中,创建了一个基础表,并配置菜单,输入数据以后,如果需要导出数据,而且数据类型的展示页面类型是他表字段,这个情况下,直接使用jeecg默认功能,导出的excel并不会和页面一样,默认显示出来被选字段的字段名称。 例如:页面显示如下: 实…

Spring讲解和ioc用途及Web容器的整合

目录 一、Spring概述 ( 1 ) 背景 ( 2 ) 是什么 ( 3 ) 核心特性 二、Spring中的ioc 2.1 讲解 2.2 主要功能 2.3 实例演示 三、注入方式 3.1 set注入 3.2 构造注入 3.3 接口注入 四、Web容器整合 4.1 思考 4.2 实操 对我们的收获 一、Spring概述 ( 1 ) 背景 Spr…

春秋云镜 CVE-2020-17530

春秋云镜 CVE-2020-17530 S2-061 靶标介绍 对CVE-2019-0230的绕过,Struts2官方对CVE-2019-0230的修复方式是加强OGNL表达式沙盒,而CVE-2020-17530绕过了该沙盒。当对标签属性中的原始用户输入进行评估时,强制 OGNL 评估可能会导致远程代码执…

C语言实例_获取文件MD5值

一、MD5介绍 MD5(Message Digest Algorithm 5)是一种常用的哈希函数算法。将任意长度的数据作为输入,并生成一个唯一的、固定长度(通常是128位)的哈希值,称为MD5值。MD5算法以其高度可靠性和广泛应用而闻名…

15-生命周期

Vue生命周期 和 生命周期的四个阶段 Vue生命周期总结: 四个阶段,八个钩子 -> 三个常用 created,mounted,beforeDestroy 生命周期的钩子函数 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"…

智能报警系统:利用人工智能保障安全和及时应对危险

引言&#xff1a;随着人工智能的快速发展&#xff0c;智能报警系统成为了一种高效、及时应对危险和保障安全的重要工具。通过分析监控视频中的图像、声音以及其他传感器数据&#xff0c;人工智能可以自动检测和识别火灾、破坏、烟雾、异常温度等情况&#xff0c;并及时触发报警…