Общие сведения о Docker-образе и контейнере
| Образ (Image) | Контейнер (Container) |
---|
Описание | Шаблон (шаблонная заготовка), на основе которого создаются контейнеры | Готовый экземпляр программного обеспечения, созданный на основе образа |
Характеристики | Образ включает в себя: - код приложения;
- библиотеки и зависимости;
- команды запуска и служебные настройки
| Особенности контейнера: - изолированность от хост-системы и других контейнеров;
- использование ресурсов хост-машины (CPU, память, сеть, хранилище);
- может быть запущен, остановлен, удалён или перезапущен
|
Установка Docker-сервера
Для установки и запуска Сервера ПК Интеллект X через Docker необходимо:
- Установить Docker с помощью официальных руководств:
. |
Минимальные требования для запуска ПК Интеллект X через Docker на Ubuntu: |
Гб Подключить репозиторий Интеллект X. Для этого необходимо:Установить git и утилиту envsubst с помощью команды:Для Debian и Ubuntu:
Code Block |
---|
sudo apt-get install git gettext binutils |
Для Fedora, RedHat Linux, CentOS:
Code Block |
---|
dnf install git gettext binutils |
Клонировать репозиторий intellectx.docker.
Code Block |
---|
git clone https://src.ITV.dev/bitbucket/scm/one/intellectx.docker.git |
Note |
---|
|
В случае возникновения ошибки "server certificate verification failed", необходимо выполнить в терминале следующую команду:
Code Block |
---|
export GIT_SSL_NO_VERIFY=1 |
Обновить клонированные файлы репозитория:Перейти в папку intellectx.docker:
Code Block |
---|
cd /home/%username/intellectx.docker/ |
где %username − имя пользователя, под которым будет создан контейнер.
Скачать содержимое git репозитория:
Создать контейнер Интеллект X. Для создания контейнера Интеллект X необходимо:- Скопировать в папку /home/%username/ITV.docker/server/build/ deb-пакеты Интеллект X, DetectorPack и DriverPack.
Перейти в папку intellectx.docker/server.
Code Block |
---|
cd /home/%username/intellectx.docker/server |
Выполнить команду:
Code Block |
---|
./intellect-x.sh build |
Начнется сборка контейнера Интеллект X.
Для просмотра списка собранных контейнеров после завершения операции выполнить команду:
Code Block |
---|
./intellect-x.sh list |
Запуск Сервера ПК Интеллект X через Docker завершен.
- Скачать Docker-образ ПК Интеллект Х с официального сайта компании ITV.
Note |
---|
|
Доступна отказоустойчивая (FailOver) сборка Docker-образа ПК Интеллект Х. При необходимости она может быть предоставлена через специалистов технической поддержки компании ITV. |
- После завершения загрузки перейти в папку со скачанным архивом.
- Выполнить команду:
Code Block |
---|
|
sudo docker load < intellect-x*.tar.gz |
Note |
---|
language | bash |
---|
title | Внимание! |
---|
|
В Astra Linux 1.7.6 с последними обновлениями при загрузке Docker-образа может появляться ошибка запуска контейнера. В последних обновлениях системы по умолчанию включён сканер уязвимостей образов, который блокирует загрузку и запуск неподписанных или нестандартных образов. Для решения проблемы нужно отключить проверку уязвимостей. Для этого нужно: - Открыть или создать файл /etc/docker/daemon.json.
- Добавить строку { "astra-sec-level": 6 } в файл с помощью команды:
Code Block |
---|
| sudo cat << EOF > /etc/docker/daemon.json
{ "astra-sec-level" : 6 }
EOF | где значение 6 – это отладочный режим. При обнаружении уязвимости в контейнере выводится соответствующее предупреждение, при этом запуск контейнера не блокируется. - Перезапустить Docker.
Code Block |
---|
| sudo systemctl restart docker |
|
- Выполнить команду для получения ID Docker-образа:
Code Block |
---|
|
sudo docker images |
- Запустить Docker:
Code Block |
---|
|
sudo docker run %IMAGE ID% |
Запуск ПК Интеллект X
После установки можно подключиться к Docker-серверу отдельно установленным клиентом ПК Интеллект Х. Для этого нужно при запуске клиента в окне авторизации ввести IP-адрес Docker-сервера, логин и пароль (при первом запуске ПК Интеллект Х ввести логин и пароль root/root). Также можно подключиться к Docker-серверу с помощью Flatpak-пакета (см. Запуск Клиента в виде Flatpak-пакета).
Список полезных команд:
- Определение IP-адреса, к которому нужно подключиться:
Code Block |
---|
|
docker inspect <container id> | grep "IPAddress" |
Просмотр списка контейнеров и их статуса:
- Проверка доступности сервера:
Code Block |
---|
|
ping <IP-адрес> |
- Просмотр запущенных процессов:
Code Block |
---|
|
docker top <имя контейнера> |
- Запуск контейнера:
Code Block |
---|
|
docker start <container_id> |
- Проверка статуса контейнера:
- Остановка контейнера:
Code Block |
---|
|
docker stop <container_id> |
Установка и запуск ПК Интеллект X через Docker завершен.
Дополнительные сведения
Директория внутри контейнера
Внутри контейнера смонтирована директория:
Code Block |
---|
|
/var/lib/docker/volumes/<volume_id> |
Путь может быть изменён по запросу через специалистов технической поддержки компании ITV. Значение volume_id можно получить с помощью команды:
Code Block |
---|
|
docker inspect <container_id> |
Сбор пакета поддержки (support) в Docker-контейнере
Для сбора пакета поддержки нужно:
- Предварительно узнать ID Docker-контейнера с помощью команды:
- Получить доступ к терминалу контейнера (контейнер должен быть запущен):
Code Block |
---|
|
docker exec -it <container_id> sh |
где <container_id> – ID Docker-контейнера. - Перейти в директорию bin ПК Интеллект Х:
Code Block |
---|
|
cd /opt/ITV/IntellectX/bin |
- Выполнить команду:
Code Block |
---|
|
./start_app support /data |
Это инициирует процесс формирования пакета поддержки, который будет сохранён в каталоге data. - Выйти из терминала с помощью команды:
- Перейти в директорию /var/lib/docker/volumes/<volume_id>/_data, настроенную для обмена файлами между контейнером и хостом. Готовый пакет support будет находиться в этой директории.
Сбор пакета поддержки (support) в Docker-контейнере завершен.
...