Docker Compose

2023-12-25 11:38:32

Docker Compose 是 Docker 的一个子项目,可以帮助用户定义和运行多容器 Docker 应用程序。使用 Docker Compose 可以更轻松地管理多个容器的应用程序,例如在本地或云平台上构建和部署微服务应用程序。

参考链接
https://zhuanlan.zhihu.com/p/620097083

1.安装 Docker Compose

在使用 Docker Compose 之前,您需要先安装 Docker 引擎。
然后,您可以通过以下步骤来安装 Docker Compose:

打开官方文档 Docker Compose Releases (https://github.com/docker/compose/releases
找到适合您设备的版本并下载。
在这里插入图片描述
一般都是红框那个
下载后传到虚机一定要 改名字成docker-compose!!!

上传docker-compose到 /usr/local/bin/路径
赋予权限:chmod +x /usr/local/bin/docker-compose
验证是否成功安装docker-compose:docker-compose -v

2.编写 Compose 文件

Docker Compose 使用 YAML 文件来定义应用程序的组件和它们之间的联系。下面是一个使用 Docker Compose 启动 web 应用程序的样例文件:

version: '3'  
services:  

  web:  
    image: nginx  
    ports:  
      - "80:80"  
    volumes:  
      - ./html:/usr/share/nginx/html  
    environment:  
      - NGINX_HOST=localhost  
      - 
  db:  
    image: mysql  
    environment:  
      - MYSQL_ROOT_PASSWORD=password  
    volumes:  
      - ./mysql:/var/lib/mysql

这个示例定义了两个服务:web和db。

在web服务中,使用了nginx镜像,将容器的80端口映射到主机的80端口,并将当前目录下的html文件夹挂载到容器的/usr/share/nginx/html目录下。同时,设置了NGINX_HOST环境变量为localhost。

在db服务中,使用了mysql镜像,设置了MYSQL_ROOT_PASSWORD环境变量为password,并将当前目录下的mysql文件夹挂载到容器的/var/lib/mysql目录下。

这样,通过Docker Compose可以轻松地启动和管理这两个服务的容器。

3.启动、停止、恢复服务

1.要启动 Compose 文件中定义的所有服务,在包含 Compose 文件的目录下执行以下命令:
docker-compose up

2.如果要在后台运行服务,请使用以下命令:
docker-compose up -d

3.要停止所有服务,请使用以下命令:
docker-compose stop

4.要重启所有服务,请使用以下命令:
docker-compose restart

5.要恢复已停止的服务,请使用以下命令:
docker-compose start

4.构建和升级服务

1.要构建 Compose 文件中定义的服务,请使用以下命令:
docker-compose build

2.如果您只需要构建某个服务,请使用以下命令:
docker-compose build <service_name>

3.要重新构建服务并强制重新生成镜像,请使用以下命令:
docker-compose up --build

4.要升级服务,请修改 Compose 文件中的版本或其他配置,然后使用以下命令重新构建和启动服务:
docker-compose up --force-recreate --build
请注意,这将删除并重新创建所有容器。

5.Docker Compose YAML 文件说明

Compose 文件使用 YAML 格式定义应用程序的组件、服务、网络和卷等。以下是 Compose 文件的一些常见选项:

常用配置描述
version指定 Compose 文件格式的版本。
services定义要启动的服务列表及每个服务的配置。
image指定要使用的 Docker 镜像名称,如果不存在,则自动从 Docker Hub 下载。
build指定 Dockerfile 的路径或 URL,用于构建自定义 Docker 镜像。
ports指定端口映射规则,将主机的端口映射到容器中的端口。
volumes指定挂载的卷目录,将主机的目录和容器中的目录进行映射。

除了上述选项外,还可以使用其他选项来定义网格、环境变量、命令、健康检查等。有关更详细的信息,请参阅 Docker Compose 的官方文档。

文章来源:https://blog.csdn.net/qq_20236937/article/details/135192953
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。