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

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


docker

Розбіжності

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

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

docker [2017/06/04 08:41] – створено wombatdocker [2022/12/30 15:19] (поточний) – Запуск графічних програм у Docker wombat
Рядок 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: 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: 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.1496565704.txt.bz2 · Востаннє змінено: повз wombat