Docker 容器化技术核心概念与常用操作指南
Docker 是一个开源的应用容器引擎,它允许开发者将应用程序及其所有依赖项打包到一个标准化的单元(即容器)中。通过这种方式,应用可以脱离底层基础架构的差异,在任何安装了 Docker 的 Linux 或 Windows 系统上一致地运行。与传统虚拟机相比,Docker 利用沙箱机制实现进程级的隔离,具有更高的资源利用率和更快的启动速度。
Docker 核心组件架构
- Docker Host(宿主机): 实际运行 Docker 守护进程(Daemon)和容器的物理机或虚拟机。
- Docker Client(客户端): 用户与 Docker 交互的接口,通过命令行工具向守护进程发送指令。
- Docker Registry(仓库): 集中存放镜像文件的场所,最常用的是官方的 Docker Hub。
- Docker Image(镜像): 一个只读的模板,包含了运行应用程序所需的文件系统、代码、库和配置。
- Docker Container(容器): 镜像运行时的实体。容器可以被创建、启动、停止和删除,每个容器之间相互隔离。
在 CentOS 环境下安装 Docker
在安装之前,需要确保 Linux 内核版本在 3.10 及以上。可以通过以下命令查看:
uname -r
执行以下步骤安装并启动 Docker 服务:
# 使用 yum 安装 docker 软件包
sudo yum install -y docker
# 启动 Docker 服务进程
sudo systemctl start docker
# 设置开机自启动
sudo systemctl enable docker
# 验证安装版本
docker version
镜像管理常用指令
镜像操作是使用 Docker 的第一步,涉及搜索、下载、查看和删除等流程。
1. 搜索远程镜像
# 搜索 Nginx 相关镜像
docker search nginx
2. 拉取镜像到本地
# 下载指定版本的镜像,如果不加 tag 则默认下载 latest
docker pull nginx:stable-alpine
3. 列出本地镜像
docker images
4. 移除本地镜像
# 根据镜像 ID 或名称删除
docker rmi nginx:stable-alpine
容器生命周期管理
容器是基于镜像生成的运行实例,以下是常见的操作命令。
1. 创建并启动容器
# 示例:后台启动一个名为 my-web 的 Nginx 容器,并将宿主机的 8080 端口映射到容器的 80 端口
docker run --name my-web -p 8080:80 -d nginx
--name: 为容器指定一个易于识别的名称。-d: 后台模式运行(Detached mode)。-p: 端口映射,格式为宿主机端口:容器内部端口。
2. 查看容器状态
# 查看当前正在运行的容器
docker ps
# 查看所有容器(包括已停止的)
docker ps -a
3. 停止与启动已存在的容器
# 停止容器
docker stop my-web
# 启动已停止的容器
docker start my-web
4. 移除容器
# 注意:删除容器前通常需要先停止它
docker rm my-web
5. 访问容器日志
# 实时查看容器的输出日志
docker logs -f my-web