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

50 阅读2分钟

Docker 镜像启动参数对照表

参数类别参数MySQLRedisNginx任意镜像说明
容器命名--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 示例

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 示例

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 示例

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

任意镜像启动模板

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

使用技巧

  1. 数据持久化:MySQL、Redis 必须挂载数据卷,否则数据容器删除就丢失
  2. 初始化配置:环境变量方便一次性创建数据库/用户/密码
  3. 端口映射:Web 服务和数据库都要映射,便于宿主机和局域网访问
  4. 日志查看
docker logs -f <容器名>
  1. 进入容器
docker exec -it <容器名> bash