侧边栏壁纸
博主头像
colo

欲买桂花同载酒

  • 累计撰写 1823 篇文章
  • 累计收到 0 条评论

容器基础概念与Docker运行命令

2025-12-11 / 0 评论 / 4 阅读

题目

容器基础概念与Docker运行命令

信息

  • 类型:问答
  • 难度:⭐

考点

容器概念理解,容器与虚拟机区别,Docker基础命令

快速回答

容器是轻量级的应用运行环境,通过操作系统级虚拟化技术隔离进程和资源。

  • 容器 vs 虚拟机:容器共享主机内核,虚拟机需要独立操作系统内核
  • Docker运行命令docker run -d -p 8080:80 --name my-nginx nginx
  • 核心优势:快速启动、资源占用少、环境一致性
## 解析

1. 容器核心概念

容器是操作系统级别的虚拟化技术,本质是隔离的进程集合

  • 利用Linux内核特性(cgroups, namespaces)实现资源隔离
  • 包含应用代码、运行时环境、系统工具和依赖库
  • 镜像(Image)是只读模板,容器是镜像的运行实例

2. 容器与虚拟机区别

特性容器虚拟机
虚拟化级别操作系统级硬件级
启动速度秒级分钟级
资源占用低(共享内核)高(独立OS)
隔离性进程级隔离完整系统隔离
典型代表DockerVMware, VirtualBox

3. Docker运行命令详解

运行Nginx容器的标准命令:

docker run -d -p 8080:80 --name my-nginx nginx
  • -d:后台运行(detached模式)
  • -p 8080:80:端口映射(主机8080→容器80)
  • --name:指定容器名称
  • nginx:官方镜像名称

4. 最佳实践

  • 使用docker pull nginx预先拉取镜像避免超时
  • 生产环境应指定镜像版本标签,如nginx:1.23
  • 通过docker ps检查容器运行状态

5. 常见错误

  • 端口冲突:主机端口已被占用 → 改用空闲端口
  • 忘记-d参数:终端被占用 → 按Ctrl+P+Q退出或新开终端
  • 权限问题:在命令前加sudo或配置用户组

6. 扩展知识

  • cgroups:限制CPU/内存等资源(如--memory=500m
  • namespaces:提供PID/网络/文件系统隔离
  • 容器生命周期docker start/stop/rm管理容器