Docker 容器化部署初探:为什么我们需要容器?

随着微服务架构的流行,Docker 已经成为了后端开发和运维必须掌握的技能。最近抽空系统了解了一下 Docker 的基础概念,做个简单的总结。

传统虚拟机 vs 容器

在 Docker 出现之前,我们通常使用虚拟机(VM)来隔离环境。

  • 虚拟机: 需要模拟硬件,运行完整的操作系统,启动慢,占用资源多(GB 级别)。
  • 容器(Docker): 共享宿主机的内核,只打包应用代码和依赖库,启动是秒级的,且非常轻量(MB 级别)。

Docker 的三个核心概念

  1. 镜像 (Image)
    类似于“安装包”或者“快照”。它是一个只读的模板,包含了运行程序所需的一切环境。

  2. 容器 (Container)
    镜像运行起来就是容器。如果说镜像是类(Class),容器就是实例(Instance)。容器是可以被启动、停止、删除的。

  3. 仓库 (Repository)
    存放镜像的地方,类似于代码仓库 GitHub。最常用的是 Docker Hub。

常用命令体验

# 拉取一个 nginx 镜像
docker pull nginx:latest

# 运行容器
docker run -d -p 80:80 --name my-nginx nginx

# 查看正在运行的容器
docker ps