Користувальницькькі налаштування

Налаштування сайту


docker

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

docker [2017/06/04 11:41]
wombat створено
docker [2022/12/30 17:19] (поточний)
wombat Запуск графічних програм у Docker
Рядок 45: Рядок 45:
   sudo apt-get update   sudo apt-get update
   sudo apt-get install docker-ce   sudo apt-get install docker-ce
 +
 +
 +
 +===== Запуск графічних програм у Docker =====
 +
 +Якщо спробувати запустити графічну програму з образу Docker, можна побачити таке повідомлення:​
 +
 +  cannot connect to X server :0.0
 +
 +Це означає,​ що в контейнері немає інформації про запущений X-сервер. Для того, щоб ця інформація передавалася образу під час його запуску,​ його необхідно запускати із додатковими параметрами:​
 +
 +  docker run -ti --rm -e DISPLAY=$DISPLAY -v /​tmp/​.X11-unix:/​tmp/​.X11-unix <​назва_образу>​
 +
 +Але навіть у такому випадку при спробі запустити графічну програму нас чекає така помилка:​
 +
 +  Invalid MIT-MAGIC-COOKIE-1 key : cannot connect to X server :0.0
 +
 +Тепер контейнер має інформацію про запущений X-сервер основної системи,​ але не має прав доступу до нього. Для того, щоб додати таке право до свого сеансу в Docker, необхідно зробити такі кроки:
 +
 +  - В основній системі (не в контейнері Docker) виконати команду:<​code>​
 +xauth list
 +MyHost/​unix:​0 ​ MIT-MAGIC-COOKIE-1 ​ 40a9e33971febb9ebc18f692772cfdad
 +</​code>​
 +  - Скопіювати випадкове число наприкінці виданого рядка: ''​40a9e33971febb9ebc18f692772cfdad''​
 +  - Запустити контейнер Docker, вказавши в явному вигляді якусь назву для комп'​ютера гостьової системи:<​code>​
 +docker run -ti --rm -e DISPLAY=$DISPLAY -v /​tmp/​.X11-unix:/​tmp/​.X11-unix --name=GUIHost <​назва_образу>​
 +</​code>​
 +  - У командному рядку запущеного контейнера виконати таку команду:<​code>​
 +xauth add GUIHost/​unix:​0 ​ MIT-MAGIC-COOKIE-1 ​ 40a9e33971febb9ebc18f692772cfdad
 +</​code>​ підставивши до неї обране ім'​я комп'​ютера (в даному випадку ''​GUIHost''​) та число, скопійоване на попередніх кроках.
 +  ​
 +Після цього можна запускати графічні програми з командного рядка контейнера,​ і їхні вікна відображатимуться через X-сервер основної системи.
 +
 +==== Qt ====
 +
 +Графічні програми на Qt можуть видавати таку помилку:​
 +<​code>​X Error: BadAccess (attempt to access private resource denied)</​code>​
 +Тоді можна спробувати запускати їх, встановивши змінну оточення:​
 +<​code>​QT_GRAPHICSSYSTEM=native <​програма>​ </​code>​
 +
 +
 +
 +
 +
 +
 +
  
  
docker.txt · В останнє змінено: 2022/12/30 17:19 by wombat