### **0. Устанавливаем докер, если он еще не установлен** [Install Docker Engine on Ubuntu | Docker Docs](https://docs.docker.com/engine/install/ubuntu/)
[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 ``` Где `` – имя или 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}}' | jq . ``` Если контейнер не в сети `wandb_network`, подключите его: ```bash docker network connect wandb_network ``` --- ### **9. Логин в `wandb_local`** Теперь нужно авторизоваться в локальном WandB: ```bash wandb login --relogin --host=http://wandb_local:8080 ``` После этого можно использовать WandB в контейнерах, подключенных к `wandb_network`. 🚀