這期內容當中小編將會(huì )給大家帶來(lái)有關(guān)如何用docker運行Linux桌面,文章內容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
容器的大流行讓很多東西虛擬化、容器化變成了現實(shí)。很多人還希望更多,想在容器中跑整個(gè)OS,將容器當虛擬機用。一般來(lái)說(shuō)這個(gè)想法不是推薦的做法,但并非是無(wú)法實(shí)現。
Webtops項目和一般的短小精悍,單一功能Docker哲學(xué)背道而馳,但是要實(shí)現功能就必須如此。該項目需要在容器中運行以下的服務(wù):
(1) Guacamole Server:Apache基金會(huì )下的無(wú)客戶(hù)端一個(gè)遠程桌面網(wǎng)關(guān)。這是實(shí)現Web(瀏覽器)訪(fǎng)問(wèn)遠程桌面的關(guān)鍵。
(2) xrdp Server:提供使用RDP(Microsoft遠程桌面協(xié)議)的遠程計算機的圖形登錄。xrdp接受來(lái)自各種平臺RDP客戶(hù)端的連接,包括reeRDP,rdesktop,NeutrinoRDP和Microsoft遠程桌面客戶(hù)端。
(3) Pulseaudio:一個(gè)跨平臺的、可通過(guò)網(wǎng)絡(luò )工作的聲音服務(wù)。
(4) Custom nodejs frontend:
(5) Webtops項目可以做到:
像素渲染的完美分辨率
基本的窗口管理器
音頻支持
使用RDP協(xié)議
剪貼板支持
屏幕鍵盤(pán)支持
遠程文件上傳/下載管理
Webtops設計時(shí)候考慮了容器化,以構建基本鏡像的設計理念進(jìn)行了開(kāi)發(fā),所以支持應用擴展,可以輕松地將任何Linux GUI應用程序嵌入進(jìn)來(lái)。在桌面環(huán)境中,用戶(hù)可以通過(guò)需求安裝特定的軟件包并根據需要自定義。
由于基于容器化部署,安裝非常簡(jiǎn)單,直接一個(gè)docker命令就可以完成部署:
docker run -d \ --name=webtop \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Europe/London \ -p 3000:3000 \ -v /path/to/data:/config \ --shm-size="1gb" \ --restart unless-stopped \ ghcr.io/linuxserver/webtop
然后通過(guò)瀏覽器訪(fǎng)問(wèn):localhost:3000,就可以訪(fǎng)問(wèn),這是Alpine XFCE桌面環(huán)境:
屏幕的左側是一個(gè)箭頭,該箭頭可以用來(lái)擴展某些內置的遠程交互功能的菜單,也可以使用ctrl + alt + shift組合鍵打開(kāi)和關(guān)閉此菜單:
在彈出菜單中,可以啟動(dòng)文件瀏覽器,彈出式軟鍵盤(pán)(手機或者觸摸板用)以及將剪貼板。
文件瀏覽器中,直接實(shí)現用戶(hù)當前系統和遠程系統的文件上傳下載和其他一些操作。
用戶(hù)當前剪貼板中的內容,先復制到該剪貼板框中,后續才能在遠程機器中使用。
目前除了Alpine外也支持Ubuntu,支持的桌面系統包括:
XFCE
KDE
MATE
i3
Openbox
IceWM
訪(fǎng)問(wèn)認證
默認情況下,鏡像啟用abc用戶(hù),無(wú)需認證就可以訪(fǎng)問(wèn)。abc用戶(hù)默認密碼也是 abc。如果要更改此密碼并在訪(fǎng)問(wèn)界面時(shí)啟用身份驗證,需要通過(guò)在上執行:
docker exec -it webtop passwd abc
然后通過(guò)localhost:3000/?login=true訪(fǎng)問(wèn)
默認會(huì )打開(kāi)xrdp登錄管理器,可以在其中輸入用戶(hù)名和密碼。
如前已經(jīng)說(shuō)過(guò)容器化的Linux桌面環(huán)境實(shí)際上與經(jīng)典Docker哲學(xué)相悖,因此強烈建議不要使用通過(guò)Docker來(lái)處理鏡像來(lái)更新??梢允褂貌僮飨到y的包管理更新系統
對于A(yíng)lpine用apk:
sudo apk upgrade
Ubuntu則使用apt:
sudo apt-get update && sudo apt-get dist-upgrade –y
為了讓基礎鏡像中嵌入所需的的APP,比如要添加Firefox容器時(shí)候示例Dockerfile:
FROM lsiobase/rdesktop-web:alpine RUN \ echo "**** install packages ****" && \ apk add --no-cache \ firefox-esr && \ echo "**** cleanup ****" && \ rm -rf \ /tmp/* # add local files COPY /root / # ports and volumes EXPOSE 3000 VOLUME /config
除了安裝應用程序外,還需要在啟動(dòng)文件中/root/defaults/autostart添加firefox的啟動(dòng)點(diǎn)。
就是這樣,當容器啟動(dòng)后, Firefox將在基本的Openbox gui中啟動(dòng):
還有一個(gè)LibreOffice應用的Dockerfile文件如下:
FROM lsiobase/rdesktop-web:alpine # set version label ARG BUILD_DATE ARG VERSION ARG LIBREOFFICE_VERSION LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" LABEL maintainer="thelamer" RUN \ echo "**** install packages ****" && \ apk add --no-cache --virtual=build-dependencies \ curl && \ if [ -z ${LIBREOFFICE_VERSION+x} ]; then \ LIBREOFFICE_VERSION=$(curl -sL " dl-.alpinelinux.org/alpine/v3.13/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \ && awk '/^P:libreoffice$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \ fi && \ apk add --no-cache \ libreoffice==${LIBREOFFICE_VERSION} \ tint2 && \ echo "**** openbox tweaks ****" && \ sed -i \ 's/NLMC/NLIMC/g' \ /etc/xdg/openbox/rc.xml && \ echo "**** cleanup ****" && \ apk del --purge \ build-dependencies && \ rm -rf \ /tmp/* # add local files COPY /root / # ports and volumes EXPOSE 3000 VOLUME /config
默認只有當用戶(hù)登錄Web界面時(shí)才會(huì )啟動(dòng)桌面應用程序,如果需要在容器啟動(dòng)時(shí)運行應用程序,則需要設置環(huán)境變量:
-e GUIAUTOSTART=true
如果用戶(hù)將默認容器中的密碼更改為abc,還需要設置密碼選項以確保應用程序自動(dòng)啟動(dòng):
-e PASSWORD=yourpassword
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站