From 2a4647af3f3c8aeb8af0786fb979f9e077587e87 Mon Sep 17 00:00:00 2001 From: ilyukhin Date: Fri, 14 Feb 2025 15:25:54 +0000 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B8=D0=BB(?= =?UTF-8?q?=D0=B0)=20=D0=BD=D0=B0=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) diff --git a/README.md b/README.md index e69de29..fb76b6a 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,122 @@ + +### **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`. 🚀 \ No newline at end of file