如何在Docker容器中執行GUI程式

2021-09-21 05:57:43 字數 1975 閱讀 7512

各位,今天我們將學習如何在docker之中執行gui程式。我們可以輕易地在docker容器中執行大多數gui程式且不出錯。docker是乙個開源專案,提供了乙個打包、分發和執行任意程式的輕量級容器的開放平台。它沒有語言支援、框架或者打包系統的限制,並可以執行在任何地方、任何時候,從小型的家用電腦到高階的伺服器都可以執行。這讓人們可以打包不同的包用於部署和擴充套件網路應用,資料庫和後端服務而不必依賴於特定的棧或者提供商。

下面是我們該如何在docker容器中執行gui程式的簡單步驟。本教程中,我們會用firefox作為例子。

在開始前,我們首先得確保在linux主機中已經安裝了docker。這裡,我執行的是centos 7 主機,我們將執行yum管理器和下面的命令來安裝docker。

img

# systemctl restart docker.service
現在,docker守護程序已經在執行中了,我們現在準備建立自己的firefox docker容器。我們要建立乙個dockerfile,在其中我們要輸入需要的配置來建立乙個可以工作的firefox容器。為了執行 docker 映象我們需要使用最新版本的centos。要建立 docker 映象,我們需要用文字編輯器建立乙個名為dockerfile的檔案。

# nano dockerfile
接著,在dockerfile中新增下面的行並儲存。

#!/bin/bashfrom centos:7run yum install -y firefox# 用你自己的 uid /gid 替換下面的0run export uid=0 gid=0run mkdir -p /home/developerrun echo "developer:x:$:$:developer,,,:/home/developer:/bin/bash" >> /etc/passwdrun echo "developer:x:$:" >> /etc/grouprun echo "developer all=(all) nopasswd: all" >> /etc/sudoersrun chmod 0440 /etc/sudoersrun chown $:$ -r /home/developeruser developerenv home /home/developercmd /usr/bin/firefox

img

注意:在第四行的配置中,用你自己的使用者和組id來替換0。 我們可以用下面的命令在shell或者終端中得到uid和gid。

#  id $user
img下面我們就要根據上面的dockerfile構建乙個容器。它會安裝firefox瀏覽器和它需要的包。它接著會設定使用者許可權並讓它可以工作。這裡映象名是firefox,你可以根據你的需要命名。

img現在,如果一切順利,我們現在可以在執行在centos 7映象中的docker容器裡面執行我們的gui程式也就是firefox瀏覽器了。

# docker run -ti --rm -e display=$display -v /tmp/.x11-unix:/tmp/.x11-unix firefox
本文由 lctt 原創翻譯,linux中國 榮譽推出

如何在Docker容器中執行GUI程式

各位,今天我們將學習如何在docker 之中執行gui程式。我們可以輕易地在 docker容器中執行大多數gui程式且不出錯。docker是乙個開源專案,提供了乙個打包 分發和執行任意程式的輕量級容器的開放平台。它沒有語言 支援 框架或者打包系統的限制,並可以執行在任何地方 任何時候,從小型的家用電...

如何在docker中執行PostgreSQL例項

docker pull postgres 10.10 資料持久化 建立本地卷 docker volume create postgredb 啟動時,需要將剛上個步驟建立的卷 postgredb 掛載到容器的 var lib postgresql data 目錄 docker run it v pos...

如何在docker容器中啟jupyter

docker h 0.0.0.0 run it rm p 18888 8888 v pwd dump data root dump data harbor.atompai.com nitrogen xdock v1 bin bash設定密碼 pip install jupyter啟動容器 docke...