docker run 命令常用参数详解

发布时间 2023-12-07 17:38:52作者: 明月,

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

原文链接:https://blog.csdn.net/wangshuai6707/article/details/132299930