You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

122 lines
3.3 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

### **0. Устанавливаем докер, если он еще не установлен**
[Install Docker Engine on Ubuntu | Docker Docs](https://docs.docker.com/engine/install/ubuntu/) <br/>
[Install Docker Engine on Debian | Docker Docs](https://docs.docker.com/engine/install/debian/)
### **1. Скачивание образа `wandb/local`**
```bash
docker pull wandb/local
```
---
### **2. Создание общей сети `wandb_network`**
Docker-контейнеры взаимодействуют внутри одной сети. Создадим сеть:
```bash
docker network create wandb_network
```
Проверим, что сеть создана:
```bash
docker network ls
```
---
### **3. Создание `volume` для хранения данных WandB**
Создадим каталог на диске для хранения данных:
```bash
mkdir -p /media/Data1/wandb_local/wandb_vol
```
---
### **4. Запуск `wandb_local`**
```bash
docker run -d --network wandb_network -p 0.0.0.0:8085:8080 --name wandb_local \
-v /media/Data1/wandb_local/wandb_vol:/vol \
wandb/local
```
- `--network wandb_network` подключаем контейнер к созданной сети.
- `-p 0.0.0.0:8085:8080` проксируем порт 8080 внутри контейнера на 8085 хоста.
- `-v /media/Data1/wandb_local/wandb_vol:/vol` монтируем папку для хранения данных.
Проверяем, что контейнер запущен:
```bash
docker ps | grep wandb_local
```
---
### **5. Подключение других контейнеров к `wandb_network`**
#### **Подключение уже работающего контейнера**
```bash
docker network connect wandb_network <container_name>
```
Где `<container_name>` имя или ID контейнера.
#### **Подключение контейнера при запуске**
```bash
docker run -it --rm --network wandb_network my_container_image bash
```
Теперь этот контейнер сможет обращаться к `wandb_local` по адресу `http://wandb_local:8080`.
---
### **6. Проверка сети `wandb_network`**
Чтобы убедиться, что сеть создана и в ней есть контейнеры:
```bash
docker network inspect wandb_network
```
---
### **7. Проверка сетей контейнера `wandb_local`**
```bash
docker inspect -f '{{json .NetworkSettings.Networks}}' wandb_local | jq .
```
(если `jq` не установлен, просто используйте `docker inspect wandb_local` и ищите `NetworkSettings`).
---
### **8. Проверка сетей подключаемого контейнера**
```bash
docker inspect -f '{{json .NetworkSettings.Networks}}' <container_name> | jq .
```
Если контейнер не в сети `wandb_network`, подключите его:
```bash
docker network connect wandb_network <container_name>
```
---
### **9. Логин в `wandb_local`**
Теперь нужно авторизоваться в локальном WandB:
```bash
wandb login --relogin --host=http://wandb_local:8080
```
После этого можно использовать WandB в контейнерах, подключенных к `wandb_network`. 🚀