|
|
Для запуска vscode на сервере скопируйте в терминал и запустите:
|
|
|
```
|
|
|
PROJECT=myprojectname; git clone https://git.ai.ssau.ru/liav/docker_template --branch vscode $PROJECT; cd $PROJECT; ./build.sh; ./vscode.sh
|
|
|
```
|
|
|
Если порт занят, поменяйте его в скрипте `vscode.sh` и запустите `./vscode.sh` заново.
|
|
|
|
|
|
При использовании этой схемы будет получен контейнер с пользователем, идентичным пользователю в `host` системе. Новые файлы (логи/модели etm.) и процессы в диспетчере процессов (top/htop) хоста будут принадлежать вашему пользователю. Параметр `-v $(pwd):/wd ` в `start` скриптах означает, что директория `/wd` в контейнере будет связана с текущей папкой на хосте.
|
|
|
|
|
|
|
|
|
Настроить рабочее окружение в контейнере можно либо классическим способом внутри контейнера, с возможностью эскалации прав до root командой `sudo`. Либо в более воспроизводимом ключе по шагам:
|
|
|
|
|
|
1. Скачивание шаблона в новую папку с названием `myprojectname`, переход в неё по завершению
|
|
|
```
|
|
|
PROJECT=myprojectname; git clone https://git.ai.ssau.ru/liav/docker_template --branch vscode $PROJECT; cd $PROJECT
|
|
|
```
|
|
|
|
|
|
2. Редактирование Dockerfile для смены базового образа, установки ПО и настройки среды образа.
|
|
|
|
|
|
3. Выполнение построения образа/отладка процесса построения
|
|
|
```
|
|
|
./build.sh
|
|
|
```
|
|
|
|
|
|
4. Редактирование аргументов запуска контейнера:
|
|
|
- изменение номера/добавление доступных ГПУ в запускаемом контейнере (`--gpus` аргумент),
|
|
|
- изменение порта для vscode (`-p` аргумент),
|
|
|
- добавление папок хост системы, доступных из контейнера (`-v` аргумент).
|
|
|
|
|
|
5. Запуск контейнера на основе построенного образа
|
|
|
```
|
|
|
./vscode.sh
|
|
|
```
|
|
|
|
|
|
Для остановки vscode используйте `./stop.sh`.
|
|
|
|
|
|
# QnA
|
|
|
|
|
|
Что делать, если появляется ошибка просмотра ipynb файлов "could not register service worker"?
|
|
|
Попробуйте Firefox или Brave.
|
|
|
|
|
|
Как узнать пароль для vscode у запущенного контейнера?
|
|
|
Выведите информацию о контейнере командой `docker inspect <container>`. Пароль будет находится в разделе переменных окружения.
|
|
|
|