Docker 常用镜像启动参数对照表

Docker 镜像启动参数对照表

参数类别 参数 MySQL Redis Nginx 任意镜像 说明
容器命名 --name ✅ 推荐 ✅ 推荐 ✅ 推荐 ✅ 推荐 给容器起名字,方便管理
后台运行 -d ✅ 推荐 ✅ 推荐 ✅ 推荐 ✅ 推荐 后台运行容器
端口映射 -p <宿主>:<容器> ✅ 必须(外部访问) ✅ 必须(外部访问) ✅ 必须(Web访问) ✅ 必须(服务暴露端口) 外部访问容器服务
数据卷 -v <宿主>:<容器> ✅ 必须(持久化数据) ✅ 必须(持久化数据) ✅ 推荐(挂载静态文件) ✅ 可选 持久化数据或文件挂载
环境变量 -e KEY=VALUE ✅ 必须:MYSQL_ROOT_PASSWORD 推荐:MYSQL_DATABASE, MYSQL_USER, MYSQL_PASSWORD, MYSQL_CHARSET, TZ 推荐:REDIS_PASSWORD, TZ 推荐:TZ 可选:自定义配置 设置容器初始化配置
重启策略 --restart <策略> ✅ 推荐:unless-stopped ✅ 推荐 ✅ 推荐 ✅ 推荐 容器异常/系统重启时自动启动
交互模式 -it ✅ 可选(调试) ✅ 可选(调试) ✅ 可选(调试) ✅ 可选 分配伪终端 + 交互模式
临时容器 --rm 可选 可选 可选 可选 容器退出自动删除
CPU/内存限制 --memory / --cpus 可选 可选 可选 可选 资源限制
网络 --network <网络名> 可选 可选 可选 可选 指定容器网络
Hostname --hostname <名称> 可选 可选 可选 可选 容器内主机名
命令覆盖 <命令> 可选:mysql -uroot -p 可选:redis-server /etc/redis/redis.conf 可选:nginx -g 'daemon off;' ✅ 可选 覆盖镜像默认启动命令

MySQL 示例

plain 复制代码
docker run -d \
  --name mysql8 \
  -p 3306:3306 \
  -v /data/mysql:/var/lib/mysql \
  -e MYSQL_ROOT_PASSWORD=root \
  -e MYSQL_DATABASE=parkofficesystem \
  -e MYSQL_USER=park \
  -e MYSQL_PASSWORD=123456 \
  -e MYSQL_CHARSET=utf8mb4 \
  -e TZ=Asia/Shanghai \
  --restart unless-stopped \
  mysql:8.0

Redis 示例

plain 复制代码
docker run -d \
  --name redis8 \
  -p 6379:6379 \
  -v /data/redis:/data \
  -e REDIS_PASSWORD=123456 \
  -e TZ=Asia/Shanghai \
  --restart unless-stopped \
  redis:8.0 \
  redis-server --requirepass 123456

Nginx 示例

plain 复制代码
docker run -d \
  --name nginx \
  -p 80:80 -p 443:443 \
  -v /data/nginx/html:/usr/share/nginx/html \
  -v /data/nginx/conf:/etc/nginx/conf.d \
  -e TZ=Asia/Shanghai \
  --restart unless-stopped \
  nginx:latest

任意镜像启动模板

plain 复制代码
docker run -d \
  --name <容器名> \
  -p <宿主端口>:<容器端口> \
  -v <宿主目录>:<容器目录> \
  -e KEY1=VALUE1 -e KEY2=VALUE2 \
  --restart unless-stopped \
  <镜像名> \
  <覆盖命令>
  • 根据镜像文档填充环境变量和挂载路径
  • 覆盖命令可选,如果需要调试或修改启动方式

使用技巧

  1. 数据持久化:MySQL、Redis 必须挂载数据卷,否则数据容器删除就丢失
  2. 初始化配置:环境变量方便一次性创建数据库/用户/密码
  3. 端口映射:Web 服务和数据库都要映射,便于宿主机和局域网访问
  4. 日志查看:
plain 复制代码
docker logs -f <容器名>
  1. 进入容器:
plain 复制代码
docker exec -it <容器名> bash
相关推荐
Lvan的前端笔记6 小时前
docker:每个前端项目一个 Nginx 容器还是只有一个Nginx容器
前端·nginx·docker
姜鱼问生6 小时前
Nginx 缓存命中率监控:从 X-Cache-Status 到实时统计
运维·nginx·缓存
Apipi*7 小时前
30天速通Linux 第六章信号及信号处理
linux·运维·信号处理
运维行者_8 小时前
网络性能监控怎么做?从自动发现到根因分析的4个环节
运维·服务器·网络·人工智能·支持向量机
此时不提桶,更待何时8 小时前
06-14-A-Kafka集群运维与迁移实战详解
运维·kafka
IT研究所10 小时前
AI-ITR平台如何减少客户问题反复升级?
大数据·运维·人工智能·低代码·自然语言处理·安全架构·企微
AIgorithmGEEK10 小时前
[Linux]从手写报头到内核套路:序列化、反序列化与自定义协议全链路
linux·运维·服务器·网络·序列化·反序列化
Nil20810 小时前
leetcode 139单词拆分
linux·运维·服务器
Starry-sky(jing)10 小时前
BUG: unable to handle kernel paging request 完整排查:dmesg 四要素与三路定罪
linux·运维·服务器·内核·排障
mounter62511 小时前
从硬件互连到操作系统变革:CXL 技术演进与 Linux 内核工程挑战
linux·运维·服务器