跳到主要内容

Docker Compose

2024年12月24日
柏拉文
越努力,越幸运

一、认识


使用 Docker Compose 部署 Grafana 服务比直接使用 Docker 命令更加简洁和方便,尤其是在需要管理多个容器或配置复杂的环境时。通过 Docker Compose,我们可以通过一个 YAML 文件来定义和管理多个容器服务及其配置。下面是基于 Docker Compose 部署 Grafana 服务的详细步骤。

二、目录结构


首先,创建一个工作目录用于存放 Grafana 配置文件和持久化存储数据。

grafana-docker/

├── config # 存放 Grafana 的配置文件。
└── data # 用于存储 Grafana 的持久化数据(如仪表板配置、日志等)。

三、操作


3.1 创建 Grafana 配置

如果你希望修改默认的 Grafana 配置,可以创建一个自定义的 grafana.ini 配置文件,并将其挂载到容器中。以下是一个简单的例子:

# grafana/config/grafana.ini
[server]
http_port = 3000 # 默认的 HTTP 端口
root_url = %(protocol)s://%(domain)s:%(http_port)s/ # 设置根 URL

[security]
admin_password = admin # 设置管理员密码

[auth.anonymous]
enabled = false # 禁用匿名登录

将该文件保存在 ~/grafana-docker/config/grafana.ini 路径下,然后在 docker-compose.yml 中挂载到容器。

3.2 创建 Compose 配置

在该目录中创建 docker-compose.yml 文件

services:
grafana:
image: grafana/grafana:latest
container_name: grafana
restart: always
ports:
- "3000:3000" # 映射主机端口 3000 到容器的 3000 端口
volumes:
- ./data:/var/lib/grafana # 持久化存储数据
- ./config/grafana.ini:/etc/grafana/grafana.ini # 可选:挂载自定义配置文件
environment:
GF_SECURITY_ADMIN_PASSWORD: 'admin' # 设置默认的 Grafana 管理员密码
networks:
- grafana_network

networks:
grafana_network:
driver: bridge
  • grafana: 这是服务的名称,也就是我们创建的容器的名称。

  • image: 使用 grafana/grafana:latest 镜像,获取最新版本的 Grafana

  • container_name: 容器名称,方便管理和访问。

  • restart: always: 配置容器始终重启,容器崩溃或 Docker 重启时自动恢复。

  • ports: 映射容器的端口 3000 到主机的 3000 端口,以便访问 Grafana Web 界面。

  • volumes: 持久化存储 Grafana 数据和配置:

    • ./data(宿主机目录)挂载到 /var/lib/grafana(容器目录),用于存储 Grafana 的数据。

    • ./config/grafana.ini(宿主机自定义配置)挂载到 /etc/grafana/grafana.ini(容器的配置文件),如果你有自定义配置,可以使用。

  • environment: 设置 Grafana 的默认管理员密码。

  • networks: 为 Grafana 容器指定一个网络(grafana_network),确保它与其他容器(如 Prometheus)能够通信。

3.3 启动服务

docker-compose.yml 文件和必要的目录准备完成后,使用以下命令来启动 Grafana 服务:

docker-compose up -d

此命令会启动 Grafana 服务并运行在后台。你可以通过访问 http://<host-ip>:3000 来访问 Grafana Web UI

四、访问


一旦容器启动,你可以通过浏览器访问 Grafana Web 界面:

http://<your-server-ip>:3000

默认的登录凭据是:

  • 用户名:admin

  • 密码:admin 登录后,建议你立即修改密码。

五、配置数据源


Grafana 启动后,你可以通过 Web UI 配置数据源。Grafana 支持多种数据源,如 PrometheusMySQLInfluxDB 等。以下是添加 Prometheus 数据源的步骤:

  1. 登录到 Grafana

  2. 点击左侧菜单栏的 齿轮 图标,选择 Data Sources

  3. 点击 Add data source,然后选择 Prometheus

  4. HTTP 配置项中,填写 Prometheus 的地址(例如 http://localhost:9090),然后点击 Save & Test 测试连接。

  5. 配置完成后,你可以开始创建仪表盘,选择相应的图表和指标。