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 \
<镜像名> \
<覆盖命令>
- 根据镜像文档填充环境变量和挂载路径
- 覆盖命令可选,如果需要调试或修改启动方式
使用技巧
- 数据持久化:MySQL、Redis 必须挂载数据卷,否则数据容器删除就丢失
- 初始化配置:环境变量方便一次性创建数据库/用户/密码
- 端口映射:Web 服务和数据库都要映射,便于宿主机和局域网访问
- 日志查看:
plain
复制代码
docker logs -f <容器名>
- 进入容器:
plain
复制代码
docker exec -it <容器名> bash