引言

一、什么是 Docker?

1.1 Docker 的概念

Docker 是一个开源的应用容器引擎,它允许开发者将应用程序及其依赖打包成一个轻量级的、可移植的容器。容器可以在任何支持 Docker 的平台上运行,确保了开发、测试和生产环境的一致性。

1.2 Docker 的优势

  • 轻量级:相比虚拟机,Docker 容器占用资源更少,启动速度更快。
  • 可移植性:一次构建,随处运行。Docker 容器可以在开发、测试和生产环境中保持一致。
  • 简化部署:通过容器化,可以将复杂的部署过程简化为拉取和运行容器镜像。

二、Docker 的安装与环境配置

2.1 安装 Docker

在 Linux(如 Ubuntu)上安装 Docker 的步骤如下:

  1. 更新软件包索引:

    sudo apt-get update
    
  2. 安装必要的依赖:

    sudo apt-get install ca-certificates curl gnupg lsb-release
    
  3. 添加 Docker 的官方 GPG 密钥:

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  4. 设置稳定存储库:

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
  5. 更新存储库:

    sudo apt-get update
    
  6. 安装 Docker:

    sudo apt-get install docker-ce docker-ce-cli containerd.io
    
  7. 验证安装:

    docker --version
    

2.2 验证 Docker 安装

通过运行以下命令验证 Docker 是否已成功安装:

docker run hello-world

如果一切正常,您将看到以下输出:

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
1. The Docker daemon started.
2. The container runtime started.
3. Hello World image was loaded.
4. An interactive container was started.

三、Docker 的基本使用

3.1 拉取并运行镜像

要运行一个容器,首先需要从 Docker Hub 或其他镜像仓库拉取一个镜像。以下是一个示例:

docker pull ubuntu:latest

然后,您可以使用以下命令运行该镜像:

docker run -it ubuntu bash

这将启动一个 Ubuntu 容器,并进入 bash 会话。

3.2 常用 Docker 命令

以下是一些常用的 Docker 命令:

  • docker ps:列出当前运行的容器。
  • docker images:列出本地镜像。
  • docker run:运行一个新的容器。
  • docker stop:停止一个容器。
  • docker rm:删除一个容器。
  • docker rmi:删除一个镜像。

3.3 Docker 的工作流程

Docker 的工作流程主要包括以下步骤:

  1. 拉取镜像。
  2. 创建容器。
  3. 运行容器。
  4. 管理容器(如启动、停止、删除等)。

四、Dockerfile 的构建与解释

4.1 构建 Docker 镜像

Dockerfile 是一个包含一系列指令的文本文件,用于构建 Docker 镜像。以下是一个简单的 Dockerfile 示例:

FROM ubuntu:latest

RUN apt-get update && apt-get install -y nginx

EXPOSE 80

这个 Dockerfile 基于最新的 Ubuntu 镜像,安装 Nginx,并暴露 80 端口。

4.2 运行 Docker 容器

要使用 Dockerfile 构建镜像并运行容器,请按照以下步骤操作:

  1. 保存 Dockerfile。
  2. 在 Dockerfile 所在目录中运行以下命令构建镜像:
    
    docker build -t my-nginx .
    
  3. 运行容器:
    
    docker run -d -p 8080:80 my-nginx
    

五、Docker