Docker-Compose环境配置使用

张开发
2026/5/19 8:17:39 15 分钟阅读
Docker-Compose环境配置使用
简介Docker-Compose是基于 Docker 容器的指令编排技术当你的某个应用需要用到数个容器时可以使用 Docker-Compose一键拉取、启动所有所需的 Docker 容器非常方便简单来说Docker 的命令是作用到单个 Docker 容器的Docker-Compose 是作用到一批 Docker 容器的本文介绍如何配置 Docker-Compose 环境WindowsWindows 系统最简单的方式是下载一个 Dockers-Desktophttps://docs.docker.com/desktop/setup/install/windows-install/安装该软件会在 Windows 系统中装一个 Linux 子系统wsl在这里面就配备了 Docker-Compose 环境如下Linux配置 Docker-Compose 的前提是需要有 Docker 环境安装 Docker 参考下面这篇博客Docker安装卸载敲下面的命令下载 Docker-Compose 命令并放到环境变量中curl-SLhttps://github.com/docker/compose/releases/download/v5.1.2/docker-compose-linux-x86_64-o/usr/local/bin/docker-compose设置可执行权限chmodx /usr/local/bin/docker-compose这就装好了试下docker-compose-v如下另外以上的单独的 Docker-Compose 是旧版的使用方式docker-compose 命令作为单独的可执行程序进行配置新版本的 Docker内置了 Docker-Compose敲下面的命令验证你的 Docker 是否有 Docker-Compose 环境dockercompose version如下使用接下来使用一波并整理一下 Docker-Compose 的一些命令以博主之前介绍过的个人博客网站 Halo 为例官网https://docs.halo.run/getting-started/install/docker-compose如何快速搭建个人博客将 Halo 提供的 Docker-Compose 文件docker-compose.yml下载下来该文件中定义了所需要的容器、容器使用的镜像和版本、挂载的数据卷、开放的端口、环境变量等信息这就是所谓的编排version:3services: halo: image: registry.fit2cloud.com/halo/halo-pro:2.23 restart: on-failure:3 depends_on: halodb: condition: service_healthy networks: halo_network: volumes: - ./halo2:/root/.halo2 ports: -8090:8090healthcheck: test:[CMD,curl,-f,http://localhost:8090/actuator/health/readiness]interval: 30s timeout: 5s retries:5start_period: 30s environment:# JVM 参数默认为 -Xmx256m -Xms256m可以根据实际情况做调整置空表示不添加 JVM 参数-JVM_OPTS-Xmx256m-Xms256mcommand: ---spring.r2dbc.urlr2dbc:pool:postgresql://halodb/halo ---spring.r2dbc.usernamehalo# PostgreSQL 的密码请保证与下方 POSTGRES_PASSWORD 的变量值一致。---spring.r2dbc.passwordopenpostgresql ---spring.sql.init.platformpostgresql# 外部访问地址请根据实际需要修改- --halo.external-urlhttp://localhost:8090/ halodb: image: postgres:15.4 restart: on-failure:3 networks: halo_network: volumes: - ./db:/var/lib/postgresql/data healthcheck: test:[CMD,pg_isready]interval: 10s timeout: 5s retries:5environment: -POSTGRES_PASSWORDopenpostgresql -POSTGRES_USERhalo -POSTGRES_DBhalo -PGUSERhalo networks: halo_network:在文件所在目录敲docker compose up -d启动文件中配置的容器敲docker compose ps查看容器情况文件中定义了两个容器如下都跑起来了敲docker compose logs查看容器的日志信息和 docker 命令一样访问一下能访问到应用界面没得问题命令列表以下命令docker-compose 与 docker compose 可等同使用# 拉取镜像dockercompose pull# 启动dockercompose up-d# 停止容器并删除容器不会删除挂载的数据卷dockercompose down# 查看状态dockercomposeps# 实时看日志所有容器合并的日志dockercompose logs-f# 服务名即 docker-compose.yml 中定义的某个名称的容器dockercomposeexec服务名bash# 重启所有容器dockercompose restart

更多文章