一、最基础的启动
arduino
docker run <镜像名>
- 仅启动容器,不映射端口,不持久化数据
- 容器退出后数据会丢失
二、后台运行
arduino
docker run -d <镜像名>
-d→ detached 模式,后台运行- 常用于服务类镜像(MySQL、Redis、Nginx 等)
三、命名容器
arduino
docker run --name mycontainer <镜像名>
- 方便管理、停止、删除
- 例如
docker stop mycontainer
四、端口映射(外部访问)
xml
docker run -p <宿主机端口>:<容器端口> <镜像名>
- Web 服务、数据库必须映射端口
- 多端口映射示例:
arduino
docker run -p 8080:80 -p 443:443 nginx
五、数据持久化(卷和目录挂载)
- 挂载宿主机目录
arduino
docker run -v /宿主机路径:/容器路径 <镜像名>
示例:
bash
docker run -v /data/mysql:/var/lib/mysql mysql:8.0
- Docker 卷
arduino
docker volume create myvolume
docker run -v myvolume:/容器路径 <镜像名>
- 卷管理方便,可通过
docker volume ls查看
六、环境变量配置
ini
docker run -e KEY=VALUE <镜像名>
-
数据库镜像常用:
MYSQL_ROOT_PASSWORDMYSQL_DATABASEMYSQL_USERMYSQL_PASSWORD
-
Web 服务镜像常用:
TZ(时区)APP_ENV、DEBUG等自定义变量
七、重启策略
xml
docker run --restart <策略> <镜像名>
no→ 不自动重启(默认)always→ 容器停止或 Docker 重启都会自动启动unless-stopped→ 除非手动停止,否则自动启动on-failure[:最大重试次数]→ 出错自动重启
八、交互模式(进入容器)
javascript
docker run -it <镜像名> /bin/bash
-it→ 交互模式 + 分配伪终端- 适用于调试、临时测试
九、组合启动示例(生产环境通用模板)
xml
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 <容器> |
查看日志 |
docker exec -it <容器> <命令> |
进入容器或执行命令 |
十一、镜像管理
| 命令 | 作用 |
|---|---|
docker pull <镜像> |
下载镜像 |
docker images |
查看本地镜像 |
docker rmi <镜像> |
删除镜像 |
docker save -o <文件>.tar <镜像> |
导出镜像 |
docker load -i <文件>.tar |
导入镜像 |
docker tag <镜像> <新镜像> |
镜像打标签 |
docker push <镜像> |
推送到仓库 |
十二、系统信息与清理
| 命令 | 作用 |
|---|---|
docker info |
查看 Docker 系统信息 |
docker version |
查看版本 |
docker system df |
查看磁盘占用 |
docker system prune -a |
清理无用镜像、容器、网络 |
十三、特殊启动选项
| 需求 | 参数 |
|---|---|
| 限制内存 | --memory=1g |
| 限制 CPU | --cpus=1.5 |
| 设置 hostname | --hostname myhost |
| 指定网络 | --network mynet |
| 连接多个网络 | --network network1 --network network2 |
| 临时容器(退出自动删除) | --rm |
💡 总结:
- 必需参数:镜像名、端口映射(服务类)、数据卷(持久化)
- 推荐参数:环境变量、重启策略、容器命名
- 可选参数:CPU/内存限制、网络配置、调试模式