【Docker】P9 Docker 服务编排与 Docker Compose

Docker 服务编排 + Docker Compose

  • Docker 服务编排
  • Docker Compose
    • 安装 Docker Compose
    • 卸载 Docker Compose
  • 配置 Docker Compose 配置文件 yml


Docker 服务编排

Docker是一种轻量级的容器化技术,它可以将应用程序及其依赖项打包到一个可移植的容器中,并且可以在不同的环境中运行,从而实现应用程序的快速部署和扩展。

而Docker服务编排工具可以自动化部署、管理和协调多个Docker容器,以实现复杂的应用程序和服务的部署和管理。常见的Docker服务编排工具包括 Docker ComposeDocker SwarmKubernetes 等。

Docker Compose 是一种定义和运行多个Docker容器的工具,可以使用YAML文件定义多个容器之间的关系和依赖,并一键部署整个应用程序。

Docker Swarm 是Docker官方提供的一种集群管理工具,可以协调多个Docker容器,并将它们组织成一个高可用的集群,以实现应用程序的高可用性和扩展性。

Kubernetes 是一种开源的容器编排平台,它可以自动部署、扩展和管理多个Docker容器,具有高可用性、弹性伸缩、自我修复等特性,被广泛用于云原生应用程序的部署和管理。

此博文主要围绕 Docker Compose,后续将围绕 K8s 出一系列博文学习;


Docker Compose

安装 Docker Compose

第一步:下载 Docker Compose 二进制文件

这个命令会从 GitHub 上下载 Docker Compose 的二进制文件。

sudo curl -L "https://github.com/docker/compose/releases/download//docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#  部分我选择的是 1.22.0 版本

其中,uname -s 和 uname -m 命令分别返回当前系统的操作系统类型和CPU架构,用来选择正确的二进制文件。

-o /usr/local/bin/docker-compose 将下载的二进制文件保存到/usr/local/bin/docker-compose目录下。

第二步:将下载的二进制文件授权为可执行文件

sudo chmod +x /usr/local/bin/docker-compose

第三步:验证Docker Compose是否安装成功

docker-compose version

在这里插入图片描述

安装成功!


卸载 Docker Compose

第一步:停止并删除了所有正在运行的容器

# 查看所有正在运行的容器
docker ps
# 删除正在运行的容器
docker rm -f <container-id>

若需要删除所有使用docker-compose命令创建的网络和卷:

docker-compose down --volumes

第二步:删除所有 Docker Compose 安装的镜像

docker images
# 删除镜像
docker rmi <image-id>

第三步:卸载 Docker Compose

sudo rm /usr/local/bin/docker-compose

配置 Docker Compose 配置文件 yml

首先先创建一个文件夹,然后创建一个yml文件

Docker Compose 的 YML 文件可以帮助简化管理 Docker 容器的复杂性,简化容器的管理和部署。通过 YML 文件可以快速地启动、停止和管理多个 Docker 容器。

mkdir ~/docker-compose
cd ~/docker-compose
vim docker-compose.yml

然后编写 docker-compose.yml 文件

version: '3'
services:
	nginx:
	  image: nginx
	  ports:
	    - 80:80
	  links:
	    - app
	  volumes:
	    - ./nginx/conf.d:/etc/nginx/conf.d
	app:
	  image: app
	  expose:
	    - "8080"

这个 YML 文件定义了两个服务:nginx 和 app。

nginx 服务使用了 nginx 镜像,并将容器内的 80 端口映射到主机的 80 端口。links 属性将该服务连接到 app 服务。volumes 属性将主机的 ./nginx/conf.d 目录挂载到容器的 /etc/nginx/conf.d 目录中。

app 服务使用了 app 镜像,并将容器内的 8080 端口暴露给其他服务使用。

通过这个 YML 文件,可以使用 docker-compose 命令快速启动和管理这两个容器。

然后创建 ./nginx/conf.d 目录

mkdir -p ./nginx/conf.d

最后在 ./nginx/conf.d 目录下编写 xhd.conf 文件

server {
	listen 80;
	access_log off;

	location / {
		proxy_pass http://app:8080;
	}
}

在 ~/docker-compose 目录下 使用 docker-compose 启动容器

docker-compose up

测试访问

http://你的宿主机ip/hello

你可能感兴趣的:(#,Docker,docker,容器)