一、参数分类
| 分类 |
参数 |
作用 |
| 必需 |
<镜像名> |
指定要运行的镜像 |
|
-p <宿主端口>:<容器端口> |
外部访问服务(数据库、Web、API 等) |
|
-e MYSQL_ROOT_PASSWORD=xxx(MySQL) |
root 密码,否则无法登录 |
| 推荐 |
--name <容器名> |
给容器起名字,方便管理 |
|
-d |
后台运行 |
|
-v <宿主路径>:<容器路径> |
数据持久化或文件挂载 |
|
-e <KEY=VALUE> |
初始化配置(数据库、时区、字符集等) |
|
--restart unless-stopped |
自动重启,保证服务持续运行 |
| 可选 |
-it |
交互模式,用于调试 |
|
--rm |
临时容器,退出自动删除 |
|
--memory=<内存> |
容器内存限制 |
|
--cpus=<数量> |
CPU 限制 |
|
--network <网络名> |
指定容器网络 |
|
--hostname <主机名> |
容器内主机名 |
|
<覆盖命令> |
覆盖镜像默认启动命令 |
|
|
|
二、镜像模板
1️⃣ 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
2️⃣ 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
3️⃣ 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
4️⃣ 任意镜像通用模板
plain
复制代码
docker run -d \
--name <容器名> \
-p <宿主端口>:<容器端口> \
-v <宿主目录>:<容器目录> \
-e KEY1=VALUE1 -e KEY2=VALUE2 \
--restart unless-stopped \
<镜像名> \
<覆盖命令>
<镜像名>:必填
<容器名>:推荐
<宿主端口>:<容器端口>:必需(服务访问)
<宿主目录>:<容器目录>:推荐(数据持久化)
<覆盖命令>:可选(调试或自定义启动)
三、常用管理命令
| 命令 |
作用 |
docker ps |
查看运行容器 |
docker ps -a |
查看所有容器 |
docker stop <容器> |
停止容器 |
docker start <容器> |
启动容器 |
docker restart <容器> |
重启容器 |
docker rm <容器> |
删除容器 |
docker logs -f <容器> |
查看实时日志 |
docker exec -it <容器> bash |
进入容器调试 |
docker images |
查看本地镜像 |
docker rmi <镜像> |
删除镜像 |
docker pull <镜像> |
拉取镜像 |
docker save -o <文件>.tar <镜像> |
导出镜像 |
docker load -i <文件>.tar |
导入镜像 |
docker system prune -a |
清理无用镜像、容器、网络 |
|
|