授课语音

理解Docker的基本概念并学习安装配置

Docker 是一个开源的应用容器引擎,使得开发者可以将应用程序及其依赖打包到一个标准化的容器中,从而简化应用程序的部署和扩展。本节将深入了解 Docker 的基本概念,并通过实际操作掌握如何安装和配置 Docker。


1. Docker的基本概念

1.1 容器与虚拟机的区别

  • 虚拟机(VM):虚拟机是一种硬件虚拟化技术,允许在一台物理机上运行多个操作系统。每个虚拟机都包含一个操作系统、应用程序和相关的库,比较重。

  • 容器(Container):容器是操作系统级的虚拟化,多个容器共享宿主机的操作系统内核,但每个容器都有自己独立的用户空间。相比虚拟机,容器启动更快,资源消耗更低。

1.2 Docker的核心组件

  • Docker Engine:是 Docker 的核心部分,包括客户端和守护进程。客户端负责向 Docker 守护进程发送请求,守护进程则负责执行请求并与容器交互。

  • 镜像(Image):镜像是一个轻量、可执行的独立软件包,包含运行某个程序所需的所有代码、库、依赖和配置文件。

  • 容器(Container):容器是镜像的运行时实例,可以看作是一个进程,运行在隔离的环境中。

  • Docker Hub:是一个公共的 Docker 镜像仓库,用户可以在这里共享、发布和下载镜像。

1.3 Docker的优势

  • 轻量级:相比虚拟机,Docker 容器更加轻量,占用资源少。
  • 高效性:容器化应用启动快,并且资源利用率高。
  • 隔离性:容器能够提供应用环境的隔离,避免了环境配置不一致的问题。
  • 可移植性:Docker 容器可以在不同环境之间轻松迁移,保证应用的一致性。

2. Docker的安装与配置

2.1 安装Docker

2.1.1 Windows上安装Docker

  1. 前往 Docker 官网下载 Docker Desktop for Windows 安装包。
  2. 安装过程中需要启用 WSL 2(Windows Subsystem for Linux 2),并根据提示进行配置。
  3. 完成安装后,启动 Docker Desktop,Docker 会自动启动并在系统托盘中显示图标。

2.1.2 macOS上安装Docker

  1. 前往 Docker 官网下载 Docker Desktop for Mac 安装包。
  2. 双击安装包,按照提示完成安装过程。
  3. 安装完成后,启动 Docker,Docker 会自动启动并在系统状态栏中显示图标。

2.1.3 Linux上安装Docker

以 Ubuntu 为例,安装 Docker 的步骤如下:

# 更新 apt 包索引
sudo apt-get update
# 安装依赖包
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
# 添加 Docker 的官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 设置 Docker 的稳定版仓库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# 更新 apt 包索引
sudo apt-get update
# 安装 Docker CE
sudo apt-get install docker-ce

安装完成后,运行以下命令检查 Docker 是否正常工作:

sudo docker --version

2.2 配置Docker

  1. 启动和停止 Docker 服务
    在 Linux 上可以通过以下命令启动和停止 Docker 服务:

    # 启动 Docker 服务
    sudo systemctl start docker
    # 停止 Docker 服务
    sudo systemctl stop docker
    
  2. 设置 Docker 自启动
    配置 Docker 开机自启动:

    sudo systemctl enable docker
    
  3. 测试 Docker 安装
    运行以下命令查看 Docker 是否已正确安装:

    sudo docker run hello-world
    

    如果安装成功,会输出一条 Docker 成功启动的信息。


3. Docker的基本操作

3.1 管理镜像(Images)

3.1.1 查看本地镜像

# 查看本地所有镜像
sudo docker images

3.1.2 从Docker Hub拉取镜像

# 拉取 Redis 镜像
sudo docker pull redis

3.1.3 删除镜像

# 删除指定镜像
sudo docker rmi redis

3.2 管理容器(Containers)

3.2.1 查看运行中的容器

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

3.2.2 启动容器

# 启动一个基于 Redis 镜像的容器
sudo docker run -d --name myredis redis

3.2.3 停止容器

# 停止正在运行的容器
sudo docker stop myredis

3.2.4 删除容器

# 删除指定容器
sudo docker rm myredis

3.2.5 进入容器

# 进入正在运行的容器
sudo docker exec -it myredis bash

3.3 Docker网络管理

3.3.1 创建自定义网络

# 创建一个自定义桥接网络
sudo docker network create --driver bridge my_network

3.3.2 将容器连接到自定义网络

# 将容器连接到自定义网络
sudo docker network connect my_network myredis

3.3.3 查看网络

# 查看当前Docker的所有网络
sudo docker network ls

4. Docker Compose简介

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具,用户通过一个配置文件(docker-compose.yml)来描述应用程序的服务、网络和数据卷。

4.1 安装 Docker Compose

在 Linux 上可以使用以下命令安装 Docker Compose:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

4.2 使用 Docker Compose 启动应用

一个简单的 docker-compose.yml 配置文件:

version: '3'
services:
  web:
    image: nginx
    ports:
      - "8080:80"
  redis:
    image: redis

运行以下命令启动应用:

# 启动服务
docker-compose up

4.3 停止服务

# 停止服务
docker-compose down

5. 总结

Docker 提供了一种轻量级的容器化技术,使得应用部署更加高效和灵活。在本节中,我们学习了 Docker 的基本概念,安装与配置方法,以及如何使用 Docker 进行镜像和容器的管理。通过这些基本操作,你可以开始使用 Docker 容器化你的应用,并利用 Docker Compose 管理多容器的服务。

去1:1私密咨询

系列课程: