跳到主要内容

Docker 环境配置

介绍

Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖打包到一个轻量级、可移植的容器中。通过Docker,您可以确保应用程序在任何环境中都能以相同的方式运行。为了开始使用Docker,首先需要正确配置Docker环境。

在本教程中,我们将逐步讲解如何在不同的操作系统上安装和配置Docker,并展示一些实际应用场景。

安装Docker

在Linux上安装Docker

  1. 更新系统包
    首先,确保您的系统包是最新的:

    bash
    sudo apt-get update
  2. 安装依赖包
    安装必要的依赖包以允许 apt 通过 HTTPS 使用仓库:

    bash
    sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
  3. 添加Docker官方GPG密钥
    添加Docker的官方GPG密钥以确保下载的软件包是安全的:

    bash
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  4. 添加Docker仓库
    将Docker的稳定版仓库添加到APT源中:

    bash
    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  5. 安装Docker CE
    更新APT包索引并安装Docker CE(社区版):

    bash
    sudo apt-get update
    sudo apt-get install docker-ce
  6. 验证安装
    通过运行 hello-world 镜像来验证Docker是否正确安装:

    bash
    sudo docker run hello-world

    如果安装成功,您将看到一条欢迎信息。

在Windows上安装Docker

  1. 下载Docker Desktop
    访问 Docker官网 下载Docker Desktop安装程序。

  2. 运行安装程序
    双击下载的安装程序并按照提示完成安装。

  3. 启用Hyper-V
    在安装过程中,Docker Desktop会提示您启用Hyper-V。确保启用此功能以支持Docker的运行。

  4. 启动Docker Desktop
    安装完成后,启动Docker Desktop。您可以在系统托盘中看到Docker图标。

  5. 验证安装
    打开命令提示符或PowerShell,运行以下命令以验证Docker是否正确安装:

    bash
    docker run hello-world

    如果安装成功,您将看到一条欢迎信息。

在macOS上安装Docker

  1. 下载Docker Desktop
    访问 Docker官网 下载Docker Desktop安装程序。

  2. 运行安装程序
    双击下载的 .dmg 文件并将Docker图标拖到应用程序文件夹中。

  3. 启动Docker Desktop
    打开应用程序文件夹并启动Docker Desktop。您可以在菜单栏中看到Docker图标。

  4. 验证安装
    打开终端并运行以下命令以验证Docker是否正确安装:

    bash
    docker run hello-world

    如果安装成功,您将看到一条欢迎信息。

配置Docker

配置Docker守护进程

Docker守护进程是Docker引擎的核心组件,负责管理容器的生命周期。您可以通过修改Docker的配置文件来调整守护进程的行为。

  1. 编辑Docker配置文件
    在Linux系统上,Docker的配置文件通常位于 /etc/docker/daemon.json。如果文件不存在,您可以创建一个新的。

    bash
    sudo nano /etc/docker/daemon.json
  2. 添加配置项
    例如,您可以配置Docker使用特定的镜像仓库:

    json
    {
    "registry-mirrors": ["https://mirror.example.com"]
    }
  3. 重启Docker服务
    保存配置文件后,重启Docker服务以应用更改:

    bash
    sudo systemctl restart docker

配置Docker网络

Docker提供了多种网络模式,允许容器之间进行通信。默认情况下,Docker使用 bridge 网络模式。

  1. 创建自定义网络
    您可以使用以下命令创建一个自定义网络:

    bash
    docker network create my-network
  2. 运行容器并连接到网络
    运行容器时,可以指定其连接到自定义网络:

    bash
    docker run -d --name my-container --network my-network nginx
  3. 验证网络连接
    您可以使用 docker network inspect 命令查看网络的详细信息:

    bash
    docker network inspect my-network

实际应用场景

场景1:开发环境隔离

在开发过程中,您可能需要为不同的项目配置不同的开发环境。使用Docker,您可以为每个项目创建一个独立的容器,确保环境隔离。

  1. 创建Dockerfile
    为项目创建一个 Dockerfile,定义所需的开发环境:

    dockerfile
    FROM python:3.8-slim
    WORKDIR /app
    COPY requirements.txt .
    RUN pip install -r requirements.txt
    COPY . .
    CMD ["python", "app.py"]
  2. 构建镜像
    使用 docker build 命令构建镜像:

    bash
    docker build -t my-python-app .
  3. 运行容器
    运行容器并映射端口:

    bash
    docker run -d -p 5000:5000 my-python-app

场景2:持续集成/持续部署(CI/CD)

在CI/CD管道中,Docker可以用于构建和测试应用程序。通过将应用程序打包到容器中,您可以确保在不同阶段使用相同的环境。

  1. 创建Docker镜像
    在CI/CD管道中,首先构建Docker镜像:

    bash
    docker build -t my-app .
  2. 运行测试
    在容器中运行测试:

    bash
    docker run my-app ./run-tests.sh
  3. 部署应用
    将镜像推送到Docker仓库并部署到生产环境:

    bash
    docker tag my-app my-repo/my-app:latest
    docker push my-repo/my-app:latest

总结

通过本教程,您已经学会了如何在不同操作系统上安装和配置Docker,并了解了Docker在实际应用中的一些常见场景。Docker的强大之处在于它能够提供一致的环境,使得开发、测试和部署变得更加高效和可靠。

附加资源

练习

  1. 在您的本地机器上安装Docker,并运行 hello-world 容器。
  2. 创建一个自定义Docker网络,并运行两个容器,确保它们可以互相通信。
  3. 编写一个简单的 Dockerfile,构建并运行一个包含Python应用程序的容器。

通过完成这些练习,您将更深入地理解Docker的使用和配置。