Запуск RemoteApp в Docker контейнере¶
Установите пакеты Docker и Docker-compose в соответствии с документацией к вашему дистрибутиву.
Создайте произвольную директорию, например, remoteapp:
mkdir remoteapp
В ней создайте два файла:
Dockerfile
с содержимым:# syntax=docker/dockerfile:1 FROM python:3.7-slim ENV PIP_INDEX_URL="http://pypi.accentos.ru/simple/" ENV PIP_TRUSTED_HOST="pypi.accentos.ru" ENV SELF_IP = host.docker.internal ARG CLOUD_IP ARG CLOUD_DOMAIN ARG CLOUD_USER ARG CLOUD_PASSWORD ARG CLOUD_API RUN pip3 install remoteapp RUN mkdir -p /etc/remoteapp /var/log/remoteapp/ RUN python3 usr/local/lib/python3.7/site-packages/remoteapp/ra-client.py update type ipaddr=$CLOUD_IP domain=$CLOUD_DOMAIN user=$CLOUD_USER password=$CLOUD_PASSWORD id=1 type=mstsc template=default ext=rdp RUN python3 usr/local/lib/python3.7/site-packages/remoteapp/ra-client.py update pub ipaddr=$CLOUD_IP domain=$CLOUD_DOMAIN user=$CLOUD_USER password=$CLOUD_PASSWORD id=1 type=win configure=default ext=reg RUN remoteapp-configure RUN sed -i "s/localhost/$CLOUD_IP/g" /etc/remoteapp/remoteapp.conf RUN sed -i "s/127.0.0.1/$CLOUD_API/g" /etc/remoteapp/remoteapp.conf
и
docker-compose.yaml
с содержимым:version: '3' services: ra_api: build: context: . dockerfile: Dockerfile args: CLOUD_IP: IP CLOUD_DOMAIN: DOMAIN CLOUD_USER: USER CLOUD_PASSWORD: PASSWORD CLOUD_API: API_IP image: remoteapp/ra_api:latest container_name: ra_api command: /usr/local/bin/gunicorn --bind=0.0.0.0:8001 --workers=3 --threads=10 remoteapp.cloudapi.wsgi:app ports: - "8001:8001" ra_web: image: remoteapp/ra_api:latest container_name: ra_web command: /usr/local/bin/gunicorn --bind=0.0.0.0:8080 --workers=3 --threads=10 remoteapp.app.wsgi:app ports: - "8080:8080"
В файле
docker-compose.yaml
заполните необходимые аргументы:- CLOUD_IP: - IP-адрес облака, с которым будет работать RemoteApp. Например, 10.40.50.60;
- CLOUD_DOMAIN: - имя домена для авторизации в облаке. Например,
default
; - CLOUD_USER: - имя пользователя для авторизации в облаке. Например,
admin
; - CLOUD_PASSWORD: - пароль для пользователя, указанного в CLOUD_USER. Например,
password
; - CLOUD_API: - IP-адрес, где запущен контейнер c remoteapp api. Например, 10.60.50.40.
Для создания образа для запуска контейнера в папке, в которой были созданы файлы на шаге 2, выполните:
sudo docker-compose build
Для старта контейнера с RemoteApp выполните:
sudo docker-compose up -d
После успешного старта интерфейс RemotApp будет доступен по адресу
http://HOST_IP:8080
, где HOST_IP – IP-адрес хоста, на котором выполнялся запуск контейнеров.