Docker 容器化的技术指南

引言

Docker 是一种开源的容器化技术,允许开发者将应用程序及其依赖打包到一个可移植的容器中,从而实现无缝的环境配置和部署。本文将为初学者讲解 Docker 容器的基本概念与核心应用。这不仅可以帮助开发者更高效地开发和交付软件,还可简化运维人员的部署工作,进而实现 DevOps 的目标。

Docker 的核心概念

在深入实践之前,我们需要理解以下核心概念:

  1. 镜像(Image):Docker 镜像是容器的基础,它包含了运行容器所需的一切,包括代码、运行时、库和依赖等。
  2. 容器(Container):容器是镜像的运行实例。运行中的容器与主机系统隔离,同时共享主机操作系统的内核。
  3. 容器引擎:Docker 存在于主机中的容器引擎,可管理多个容器实例。
  4. Docker Hub:这是一个中央仓库,用于储存和分享 Docker 镜像。

安装 Docker

在不同平台上安装 Docker:

1. 安装 Docker Desktop(适用于 Windows 和 macOS)
  • 前往 Docker 官网下载程序 Docker Desktop
  • 按照安装指南完成安装。
  • 打开 Docker Desktop,确保其运行正常。
2. 安装 Docker CE(适用于 Linux)
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl enable docker
# 验证安装
sudo docker --version

创建和运行容器

  1. 从镜像运行容器
# 使用官方 nginx 镜像运行一个容器
sudo docker pull nginx
sudo docker run -d -p 8080:80 nginx

用户现在能够通过浏览器访问 http://localhost:8080

  1. 构建自定义镜像 首先,创建一个 Dockerfile 文件:
# 使用一个基础镜像
FROM python:3.9-slim
# 设置工作目录和复制代码
WORKDIR /app
COPY . /app
# 安装必要依赖
RUN pip install -r requirements.txt
# 暴露容器的端口
EXPOSE 5000
# 设置主入口点
CMD ["python", "app.py"]

接着,使用 Docker CLI 构建镜像并运行容器:

sudo docker build -t my-python-app .
sudo docker run -d -p 5000:5000 my-python-app

进阶案例:使用 Docker 编排

当需要管理多个容器时,利用 Docker Compose 能显著简化配置和部署:

  1. 创建一个 docker-compose.yml 文件:
version: "3"
services:
  web:
    image: nginx
    ports:
      - "8080:80"
  app:
    build: .
    ports:
      - "5000:5000"
  1. 使用命令启动应用:
docker-compose up -d

通过 http://localhost:8080http://localhost:5000 测试容器。

结论

Docker 容器化技术简化了软件开发和交付的流程,使得复杂的应用程序能够快速实现跨环境迁移。通过本文内容,用户将掌握 Docker 环境搭建、镜像构建及容器运行等基本技术,甚至初步了解了 Docker 编排带来的便利性。

更多资源

更多推荐