容器命令(AI总结)
在 Docker 中,docker run
是启动容器的核心命令,通过它可以配置容器的运行环境、资源限制、网络设置等。以下是 Docker 容器的完整使用指南,涵盖常用参数、示例场景及最佳实践:
一、基础命令格式🐟
二、核心参数与使用场景🐟
1. 容器交互模式🐟
-i
(交互模式):保持标准输入(STDIN)打开。-t
(分配伪终端):为容器分配一个伪终端(TTY)。- 组合使用
-it
:进入容器的交互式 Shell。
2. 容器后台运行🐟
-d
(后台运行):容器以后台模式运行。
3. 端口映射🐟
-p <宿主机端口>:<容器端口>
:将容器端口映射到宿主机。
4. 数据卷挂载🐟
-v <宿主机路径>:<容器路径>
:挂载宿主机目录到容器。
5. 环境变量🐟
-e <变量名>=<值>
:设置容器内的环境变量。
6. 容器命名🐟
--name <容器名称>
:为容器指定唯一名称。
7. 自动重启策略🐟
--restart=<策略>
:定义容器退出时的重启策略(如always
、on-failure
)。
8. 资源限制🐟
- 内存限制:
--memory=1g
(限制为 1GB)。 - CPU 限制:
--cpus=2
(最多使用 2 个 CPU 核心)。
三、进阶配置🐟
1. 网络模式🐟
--network=<模式>
:指定容器的网络模式(如host
、bridge
、none
)。
2. 容器用户权限🐟
--user=<用户名/UID>
:指定容器内进程的运行用户。
3. 只读文件系统🐟
--read-only
:将容器的根文件系统设为只读(需配合-v
写入数据)。
4. 日志驱动🐟
--log-driver=<驱动>
:指定日志记录方式(如json-file
、syslog
)。
四、实战示例🐟
场景 1:运行 Web 服务并挂载配置🐟
场景 2:调试容器并进入 Shell🐟
场景 3:连接其他容器(容器间通信)🐟
# 启动 MySQL 容器
docker run -d --name mysql_db -e MYSQL_ROOT_PASSWORD=123456 mysql
# 启动应用容器并连接到 MySQL
docker run -d \
--name my_app \
--link mysql_db:db \
-e DB_HOST=db \
myapp
五、最佳实践🐟
- 精简镜像:优先使用官方镜像或 Alpine 等轻量级基础镜像。
- 单进程容器:一个容器只运行一个主进程(如 Nginx、MySQL)。
- 日志管理:限制日志大小,避免磁盘占满。
- 健康检查:通过
HEALTHCHECK
指令监控容器状态。 - 资源限制:生产环境必须限制内存和 CPU,防止资源耗尽。
六、常用命令参考🐟
命令 | 说明 |
---|---|
docker ps |
查看运行中的容器 |
docker logs <容器名> |
查看容器日志 |
docker exec -it <容器名> sh |
进入运行中的容器执行命令 |
docker stop <容器名> |
停止容器 |
docker rm <容器名> |
删除容器 |
通过合理组合参数,可以高效管理容器的生命周期、资源分配和数据持久化。建议结合 Docker Compose 或 Kubernetes 进一步简化多容器编排。
compose更新镜像🐟
# Pull latest version
docker compose pull
# Stop and remove older version
docker compose down
# Start the container
docker compose up -d
创建日期:
March 22, 2025 21:32:55
最后更新: March 22, 2025 21:32:55
最后更新: March 22, 2025 21:32:55