[疑问] docker部署的alist如何挂载本地存储其他docker的目录 看全部

如题,小白求问,不知道怎么挂载。目录结构没搞明白,是要在docker里面mount什么目录么?
要映射的

谢谢。这个映射在哪里设置,是设置docker参数还是直接在主机中设置?
-v /root/111/:/xxx/111 \



...
  • 5# Rukia
  • 2024-12-1 23:54:19
在使用 Docker 部署 AList 时,如果你想挂载本地存储或其他 Docker 容器的目录,可以通过 Docker 的卷(Volume)或绑定挂载(Bind Mount)来实现。以下是具体步骤:

### 1. 挂载本地存储目录

假设你想将本地的 `/path/to/local/storage` 目录挂载到 AList 容器中,可以使用以下命令:

```bash
docker run -d \
  --name alist \
  -v /path/to/local/storage:/data \
  -p 5244:5244 \
  xhofe/alist:latest
```

- `-v /path/to/local/storage:/data`: 将本地的 `/path/to/local/storage` 目录挂载到容器内的 `/data` 目录。
- `-p 5244:5244`: 将容器的 5244 端口映射到主机的 5244 端口。

### 2. 挂载其他 Docker 容器的目录

如果你想挂载另一个 Docker 容器的目录,可以先创建一个 Docker 卷,然后将该卷挂载到 AList 容器中。

#### 步骤 1: 创建 Docker 卷

```bash
docker volume create my_data_volume
```

#### 步骤 2: 将卷挂载到其他 Docker 容器

假设你有一个名为 `other_container` 的容器,你想将它的 `/data` 目录挂载到 `my_data_volume` 卷中:

```bash
docker run -d \
  --name other_container \
  -v my_data_volume:/data \
  your_image
```

#### 步骤 3: 将卷挂载到 AList 容器

```bash
docker run -d \
  --name alist \
  -v my_data_volume:/data \
  -p 5244:5244 \
  xhofe/alist:latest
```

### 3. 使用 Docker Compose

如果你使用 Docker Compose 来管理多个容器,可以在 `docker-compose.yml` 文件中定义卷和挂载:

```yaml
version: '3'

services:
  alist:
    image: xhofe/alist:latest
    container_name: alist
    volumes:
      - my_data_volume:/data
    ports:
      - "5244:5244"

  other_container:
    image: your_image
    container_name: other_container
    volumes:
      - my_data_volume:/data

volumes:
  my_data_volume:
```

然后运行 `docker-compose up -d` 来启动所有服务。

### 总结

- 挂载本地存储目录:使用 `-v /path/to/local/storage:/data`。
- 挂载其他 Docker 容器的目录:先创建 Docker 卷,然后将卷挂载到目标容器。
- 使用 Docker Compose 可以更方便地管理多个容器和卷。

通过这些方法,你可以轻松地将本地存储或其他 Docker 容器的目录挂载到 AList 容器中。
引用: ZHT5178 发表于 2024-12-1 23:26
谢谢。这个映射在哪里设置,是设置docker参数还是直接在主机中设置?

你怎么部署的,docker-compose的话在你文件里面啊
docker run的话重新搞下