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
相关推荐
by2099921 小时前
Linux GCC/G++ 编译与 Makefile 构建
linux·运维·服务器·经验分享
螺丝钉tina1 天前
[Playwright][08] Upload 模块自动化:如何设计真实业务测试用例?
运维·自动化·测试用例
迪菲赫尔曼1 天前
【基础篇 12】把环境与源码接起来:检查 GPU,再安装服务器上的项目
运维·服务器·开发语言·人工智能·python·yolo·目标检测
cq林志炫1 天前
两个Linux服务器之间同步文件
linux·运维·服务器
yyuuuzz1 天前
云服务器安全组规则优先级的机制记录
运维·服务器·网络·安全·阿里云·aws
KaiwuDB1 天前
KaiwuDB 运维实战06:数据库备份与恢复:从理论到实战
运维·数据库·时序数据库·kaiwudb
无人生还别怕1 天前
如何搭建k8s服务(containerd部署)
linux·云原生·容器·kubernetes·openanolisos
知已难寻1 天前
01 · OpenStack的认证管理 Keystone
运维·服务器·云原生·云计算·openstack
ai_xiaogui1 天前
私有化部署大模型实战:PanelAI 一键搭建、Token 计费与多用户隔离
运维·私有化部署·大模型部署·大模型 token 计费·api key 统一管理·多用户实例隔离·应用市场一键部署
杨浦老苏1 天前
把项目管理搬回自己服务器:Windshift部署与避坑
docker·项目管理·群晖