一、Docker Compose 入门

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。使用 Compose,您可以使用 YAML 文件来配置应用程序的服务,然后使用单个命令,从配置中创建和启动所有服务。

  1. 安装 Docker Compose

根据您的操作系统,从 Docker 官方文档下载并安装 Docker Compose。

  1. 创建一个 Compose 文件

创建一个名为 docker-compose.yml 的文件,并定义您的服务。例如:

yaml复制代码
 version: '3'  
 
 services:  
 
   web:  
 
     build: .  
 
     ports:  
 
       - "5000:5000"  
 
   db:  
 
     image: postgres

这里定义了两个服务:web 和 dbweb 服务使用当前目录下的 Dockerfile 构建,并将容器的 5000 端口映射到主机的 5000 端口。db 服务使用预构建的 postgres 镜像。

  1. 使用 Compose

在包含 docker-compose.yml 的目录中,运行以下命令:

  • 启动所有服务:docker-compose up
  • 停止所有服务:docker-compose down
  • 构建(不启动)服务:docker-compose build

二、Docker Swarm 入门

Docker Swarm 是 Docker 的原生集群工具,用于将一组 Docker 主机转变为一个单一的、虚拟的主机。Swarm 提供了标准的 Docker API,任何已经与 Docker 守护进程通信的工具都可以使用 Swarm 来透明地扩展到多个主机。

  1. 初始化 Swarm

在一个 Docker 主机上运行 docker swarm init 来初始化 Swarm。

  1. 添加节点

使用 docker swarm join-token 命令获取加入令牌,然后在其他 Docker 主机上运行 docker swarm join 命令来添加它们为 Swarm 的节点。

  1. 部署服务

使用 docker stack deploy 命令和一个 Compose 文件来部署服务到 Swarm。例如:docker stack deploy -c docker-compose.yml mystack

三、其他学习点

  • 学习了如何使用 Docker Secrets 来管理敏感数据。
  • 了解了 Docker 的多阶段构建,它允许在单个 Dockerfile 中定义多个构建阶段。
  • 深入学习了 Docker 卷(Volumes)的使用和管理。

四、总结

今天主要学习了 Docker Compose 和 Swarm 的基础用法,它们分别用于定义和运行多容器应用以及管理 Docker 集群。同时,还学习了一些 Docker 的高级功能,如 Secrets、多阶段构建和卷的管理。这些工具和功能使得 Docker 在容器化应用和微服务的部署与管理中更加灵活和强大。