Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions docs/en/installation/docker/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,54 @@ docker run -d \
-e RUSTFS_TLS_PATH=/certs \
```

### Docker Compose Installation

RustFS officially provides a Docker Compose installation method. The [`docker-compose.yml`](https://github.com/rustfs/rustfs/blob/main/docker-compose.yml) file includes multiple services, such as `grafana`, `prometheus`, `otel-collector`, and `jaeger`, mainly for observability. If you want to deploy these services together, clone the [RustFS code repository](https://github.com/rustfs/rustfs) locally,

```
git clone git@github.com:rustfs/rustfs.git
```

Running the command under root directory,

```
docker compose --profile observability up -d
```

Started containers is as below,

```
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c13c23fe3d9d rustfs/rustfs:latest "/entrypoint.sh rust…" 6 seconds ago Up 5 seconds (health: starting) 0.0.0.0:9000-9001->9000-9001/tcp, :::9000-9001->9000-9001/tcp rustfs-server
e3f4fc4a83a2 grafana/grafana:latest "/run.sh" 7 seconds ago Up 5 seconds 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp grafana
71ef1b8212cf prom/prometheus:latest "/bin/prometheus --c…" 7 seconds ago Up 5 seconds 0.0.0.0:9090->9090/tcp, :::9090->9090/tcp prometheus
e7db806b2d6f jaegertracing/all-in-one:latest "/go/bin/all-in-one-…" 7 seconds ago Up 5 seconds 4317-4318/tcp, 9411/tcp, 0.0.0.0:14250->14250/tcp, :::14250->14250/tcp, 14268/tcp, 0.0.0.0:16686->16686/tcp, :::16686->16686/tcp jaeger
1897830a2f1e otel/opentelemetry-collector-contrib:latest "/otelcol-contrib --…" 7 seconds ago Up 5 seconds 0.0.0.0:4317-4318->4317-4318/tcp, :::4317-4318->4317-4318/tcp, 0.0.0.0:8888-8889->8888-8889/tcp, :::8888-8889->8888-8889/tcp, 55679/tcp otel-collector
```

If you only want to install rustfs, do not want to deploy grafana,prometheus,etc, please comment below lines in `docker-compose.yml` file,

```
#depends_on:
# - otel-collector
```

Then, run the command,

```
docker compose -f docker-compose.yml up -d rustfs
```

This way will only install and start `rustfs-server` service, namely rustfs container,

```
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e07121ecdd39 rustfs/rustfs:latest "/entrypoint.sh rust…" 2 seconds ago Up 1 second (health: starting) 0.0.0.0:9000-9001->9000-9001/tcp, :::9000-9001->9000-9001/tcp rustfs-server
```

Whether you start only the `rustfs-server` or together with observability services, you can access the RustFS instance via `http://localhost:9000` using the default username and password (`rustfsadmin` for both).

## 4. Verification and Access

1. **View Container Status and Logs:**
Expand Down
50 changes: 49 additions & 1 deletion docs/zh/installation/docker/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Docker 安装 RustFS"
description: "RustFS Docker 部署。"
description: "使用 Docker 或 Docker Compose 安装部署 RustFS。"
---

# Docker 安装 RustFS
Expand Down Expand Up @@ -157,6 +157,54 @@ docker run -d \
-e RUSTFS_TLS_PATH=/certs \
```

### Docker Compose 安装

RustFS 官方提供了 Docker Compose 的安装方式,[`docker-compose.yml`](https://github.com/rustfs/rustfs/blob/main/docker-compose.yml)文件中包含多个服务,包括 `grafana`、`prometheus`、`otel-collector`、`jaeger` 等,主要围绕可观测性。如果你想同时部署这些服务,克隆 [RustFS 代码仓库](https://github.com/rustfs/rustfs)到本地:

```
git clone git@github.com:rustfs/rustfs.git
```

然后在根目录下执行:

```
docker compose --profile observability up -d
```

会启动如下容器:

```
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c13c23fe3d9d rustfs/rustfs:latest "/entrypoint.sh rust…" 6 seconds ago Up 5 seconds (health: starting) 0.0.0.0:9000-9001->9000-9001/tcp, :::9000-9001->9000-9001/tcp rustfs-server
e3f4fc4a83a2 grafana/grafana:latest "/run.sh" 7 seconds ago Up 5 seconds 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp grafana
71ef1b8212cf prom/prometheus:latest "/bin/prometheus --c…" 7 seconds ago Up 5 seconds 0.0.0.0:9090->9090/tcp, :::9090->9090/tcp prometheus
e7db806b2d6f jaegertracing/all-in-one:latest "/go/bin/all-in-one-…" 7 seconds ago Up 5 seconds 4317-4318/tcp, 9411/tcp, 0.0.0.0:14250->14250/tcp, :::14250->14250/tcp, 14268/tcp, 0.0.0.0:16686->16686/tcp, :::16686->16686/tcp jaeger
1897830a2f1e otel/opentelemetry-collector-contrib:latest "/otelcol-contrib --…" 7 seconds ago Up 5 seconds 0.0.0.0:4317-4318->4317-4318/tcp, :::4317-4318->4317-4318/tcp, 0.0.0.0:8888-8889->8888-8889/tcp, :::8888-8889->8888-8889/tcp, 55679/tcp otel-collector
```

如果你仅仅想安装 rustfs,不想启动其他服务,那么你需要在 `docker-compose.yml` 中注释掉:

```
#depends_on:
# - otel-collector
```

然后执行命令:

```
docker compose -f docker-compose.yml up -d rustfs
```

只启动了 `rustfs-server` 这一个服务:

```
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e07121ecdd39 rustfs/rustfs:latest "/entrypoint.sh rust…" 2 seconds ago Up 1 second (health: starting) 0.0.0.0:9000-9001->9000-9001/tcp, :::9000-9001->9000-9001/tcp rustfs-server
```

不管是单独启动 `rustfs-server` 还是和可观测性的服务一起启动,对于 RustFS 实例的访问都是通过 `http://localhost:9000`,并使用默认用户名和密码(均为 `rustfsadmin`)。

## 四、验证与访问

1. **查看容器状态与日志:**
Expand Down