技术文摘
docker 中 run 命令常用的 30 个参数详解与示例
2024-12-29 00:41:18 小编
Docker 中 run 命令常用的 30 个参数详解与示例
在 Docker 的使用中,run命令是非常关键的操作之一。它带有众多参数,用于精确控制容器的运行方式和配置。以下将详细介绍其中 30 个常用参数,并提供相应的示例,帮助您更好地理解和运用。
-d:以守护式(后台)模式运行容器。示例:docker run -d nginx-p:指定端口映射,将容器内的端口映射到主机端口。如:docker run -p 8080:80 nginx--name:为容器指定一个名称,方便后续管理。例如:docker run --name my_nginx nginx-e:设置环境变量。docker run -e ENV_VAR=value nginx-v:挂载数据卷,实现数据的持久化和共享。docker run -v /host/path:/container/path nginx--network:指定容器连接的网络。docker run --network my_network nginx--restart:定义容器的重启策略。如:docker run --restart always nginx-m:限制容器使用的内存。docker run -m 512m nginx--cpu-shares:分配 CPU 资源份额。docker run --cpu-shares 1024 nginx--cap-add:添加特定的权限。docker run --cap-add SYS_ADMIN nginx--privileged:赋予容器特权模式。docker run --privileged nginx-h:设置容器的主机名。docker run -h my_hostname nginx--user:指定运行容器的用户。docker run --user 1000:1000 nginx--link:建立容器间的链接。docker run --link container_name:alias nginx--env-file:从文件中读取环境变量。docker run --env-file env.list nginx--add-host:添加主机名和 IP 映射。docker run --add-host myhost:192.168.0.100 nginx--dns:指定 DNS 服务器。docker run --dns 8.8.8.8 nginx--dns-search:设置 DNS 搜索域。docker run --dns-search example.com nginx--tmpfs:挂载临时文件系统。docker run --tmpfs /tmp:rw,size=100m nginx--device:添加设备访问权限。docker run --device /dev/sda nginx--security-opt:设置安全选项。docker run --security-opt seccomp=unconfined nginx--ulimit:设置资源限制。docker run --ulimit nofile=1024:1024 nginx--entrypoint:覆盖默认的入口点。docker run --entrypoint /bin/bash nginx--working-dir:设置工作目录。docker run --working-dir /app nginx--label:为容器添加标签。docker run --label key=value nginx--stop-signal:指定停止容器的信号。docker run --stop-signal SIGINT nginx--stop-timeout:设置停止容器的超时时间。docker run --stop-timeout 30 nginx--init:在容器中运行一个 init 进程。docker run --init nginx--health-cmd:定义健康检查命令。docker run --health-cmd "curl -f http://localhost/health" nginx--log-driver:选择日志驱动。docker run --log-driver json-file nginx
熟练掌握这些参数,能够让您更加灵活、高效地运用 Docker 容器,满足各种复杂的业务需求。不断实践和探索,您将能更好地发挥 Docker 的强大功能。
- 工作 3 年的程序员面试,竟不知 JVM 运行原理
- 重新学习 React:通过案例掌握核心知识点
- 贝叶斯推理的三种方法:MCMC、HMC 与 SBI
- Python 编程:深入剖析命名元组(namedtuple)的使用关键
- Runtime Filter 在 Join 优化技术中的应用
- 数据库内核分析:GPDB 与 PostgreSQL Portal
- 基于 Go 与 Linux Kernel 技术的容器化原理探究
- Python 编程:内置字典(dict)子类及应用全解析
- Manim:超美的 Python 数学动画开发模块
- 我在项目中运用设计模式的技巧,学习设计模式竟如此简单
- Java 用于移动应用开发的八大理由
- 前端图形学实战:Vue3 + Vite 从零开发几何画板
- Go 语言 context 卓越实践
- 让 Python 代码更干净的简单步骤
- Java 零基础之 For 循环学习