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

2021-09-29 16:16:58 字數 2075 閱讀 1126

各位,今天我們將學習如何在docker

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

和後端服務而不必依賴於特定的棧或者提供商。

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

在開始前,我們首先得確保在linux

主機中已經安裝了docker。這裡,我執行的是centos

7 主機,我們將執行yum管理器和下面的命令來安裝docker。

# yum install docker

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

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

#!/bin/bash

from centos:7

run yum install

-y firefox

# 用你自己的 uid /gid 替換下面的0

run

export

uid=

0gid=0

run mkdir -p

/home

/developer

run echo

"developer:x:$:$:developer,,,:/home/developer:/bin/bash"

>>

/etc/

passwd

run echo

"developer:x:$:"

>>

/etc/

group

run echo

"developer all=(all) nopasswd: all"

>>

/etc/

sudoers

run

chmod

0440

/etc

/sudoers

run

chown$:

$-r /

home

/developer

user developer

env home

/home

/developer

cmd

/usr

/bin

/firefox

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

# id $user

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

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

# docker run -ti --rm -e display=$display -v /tmp/.x11-unix:/tmp/.x11-unix firefox
在docker容器中執行gui程式是一次很棒的體驗,它對你的主機檔案系統沒有任何的傷害。它完全依賴你的docker容器。本教程中,我嘗試了centos 7 docker中的firefox。我們可以用這個技術嘗試更多的gui程式。

譯文:

如何在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...