跳到主要内容

Docker

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

一、认识


以下是基于 Docker 部署 Grafana 服务的完整步骤,包括如何配置、持久化存储、重启和更新等操作。请注意,这个过程不使用 Docker Compose,而是通过纯 Docker CLI 命令来实现部署。

二、目录结构


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

grafana-docker/

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

三、操作


3.1 创建配置(可选)

config/ 目录下,我们可以创建自定义的 Grafana 配置文件(如果需要)。Grafana 的默认配置文件通常已经能够满足大部分需求,但如果你需要更详细的配置,可以在此目录中创建一个 grafana.ini 文件。

# grafana/config/grafana.ini
[server]
# 默认运行在 3000 端口
http_port = 3000

[security]
# 禁用匿名访问
allow_embedding = false

[auth.anonymous]
enabled = false

注意:大多数情况下,Grafana 会使用默认配置文件,除非你有特定需求。若没有自定义配置,可以跳过此步骤。

3.2 运行服务

现在可以使用 Docker 启动 Grafana 容器。以下命令将 Grafana 配置为运行在后台,使用端口 3000,并挂载必要的持久化存储。

docker run -d \
--name=grafana \
-p 3000:3000 \
-v ~/grafana-docker/data:/var/lib/grafana \
-v ~/grafana-docker/config/grafana.ini:/etc/grafana/grafana.ini \
--restart=always \
grafana/grafana:latest
  • -d:后台运行容器。

  • --name=grafana:为容器命名为 grafana

  • -p 3000:3000:将宿主机的 3000 端口映射到容器的 3000 端口(Grafana 默认端口)。

  • -v ~/grafana-docker/data:/var/lib/grafana:将宿主机的 ~/grafana-docker/data 目录挂载到容器的 /var/lib/grafana 目录,确保 Grafana 的数据(如仪表盘、用户数据等)持久化。

  • -v ~/grafana-docker/config/grafana.ini:/etc/grafana/grafana.ini:挂载自定义的 Grafana 配置文件(如果你修改了默认配置,指定这个文件,否则可以省略)。

  • --restart=always:配置容器在 Docker 守护进程重启或容器崩溃时自动重启。

  • grafana/grafana:latest:指定使用最新版本的 Grafana 镜像。

四、访问


一旦容器启动,你可以通过浏览器访问 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. 配置完成后,你可以开始创建仪表盘,选择相应的图表和指标。