使用 docker 構(gòu)建ubuntukylin-桌面版本 通過vnc遠(yuǎn)程實現(xiàn)云桌面

1. ubuntukylin-docker打包桌面

? 1.1 需要安裝優(yōu)麒麟的完整操作系統(tǒng) 通過tar執(zhí)行打包因為proc sys dev run boot 是依賴于內(nèi)核 啟動時會自己生成

? ? ? ? 命令:? tar -cvpf /tmp/system.tar --directory=/ --exclude=proc --exclude=sys --exclude=dev --exclude=run --exclude=boot .

? 1.2 把tar包 導(dǎo)成docker-images

? ? ? ? 命令: cat /tmp/system.tar | docker import - ubuntukylin:v1

? 1.3? 導(dǎo)入完成以后把 系統(tǒng)啟動起來看是否有錯誤 如果有錯誤請重新打包

? ? ? ? 命令: docker -itd --name ubuntukylin1 -p 5900:5900 <鏡像>

? ? ? ? 查看容器是否啟動成功: docker ps -a

? ? ? ? 啟動成功進(jìn)入容器內(nèi)部:docker exec -it <容器名稱> bash

? 1.4? 我們這個時候就需要安裝 x11vnc xvfb 注:{打包的時候記得添加阿里云源 官方的特別慢}

? ? ? ? 命令: apt update? 更新一下

? ? ? ? ? ? ? apt install x11vnc -y

? ? ? ? ? ? ? apt install xvfb -y

? ? ? ? ? ? ? apt install supervisor -y

? 1.5 安裝完成以后 我們配置vnc密碼

? ? ? ? 配置密碼

? ? ? ? x11vnc -storepasswd

? ? ? ? 啟動vnc服務(wù)

? ? ? ? x11vnc -display :5 -once -loop -noxdamage -repeat -rfbauth ~/.vnc/passwd -rfbport 5900 -shared? -scale 1920x1080 &

? 1.6 啟動Xvfb

? ? ? ? Xvfb :5 -screen 0 1920x1080x24

? ? ? ? 這里說一下 xvfb是一個虛擬卡的工具 x11vnc是一個遠(yuǎn)程桌面的工具

? 1.8? 然后我們就可以查看一下 5900端口是否啟動成功 或者查看x11vnc是否啟動成功 有 PORT=5900 就是ok的

? ? ? ? 命令: ss -tlunp | grep 5900

? 1.9? 現(xiàn)在我們需要通過vnc遠(yuǎn)程我們的桌面

? ? ? ? 下載一個vnc vnc的端口和ip遠(yuǎn)程 輸入你設(shè)置的密碼即可

? 1.10? 能夠看到桌面就是ok的 如果有 鼠標(biāo)是X 或者是時間不對 你需要在ubuntukylin主機(jī)系統(tǒng)里面找到資源打進(jìn)來

2. 把運行成功并且可以遠(yuǎn)程的vnc桌面容器打包成<images>

? ? ? 命令: docker commit -m "xxxxx" -a "xxxxx" -p <這個是打包的時候停止容器> <容器名稱> <需要打包成的images名稱和版本>


3. 編寫dockerfile? 與腳本

? ? 3.1 因為ubuntukylin里面我們是通過 在容器里面配置好在打的容器images所以它不會自啟動我們需要通過腳本或者其他的方式讓images里面的

? ? ? ? x11vnc xvfb 還有桌面開機(jī)就啟動

? ? 3.2 編寫vnc xvfb 桌面啟動 腳本

? ? ? ? ? 在/opt/下面創(chuàng)建一個Docker命令 進(jìn)去里面 mkdir Docker && cd Docker

? ? ? ? ? 然后我們開始寫啟動的shell腳本


? ? ? ? ? #!/bin/bash

? ? ? ? ? start_x11vnc=x11vnc -display :5 -once -loop -noxdamage -repeat -rfbauth ~/.vnc/passwd -rfbport 5900 -shared? -scale 1920x1080 &

? ? ? ? ? start_xvfb=Xvfb :5 -screen 0 1920x1080x24 &

? ? ? ? ? start_ukui=DISPLAY=:1 ukui-session

? ? ? ? ? rm /tmp/.X* -rf

? ? ? ? def ()? {?

? ? ? ? ? funname_x11vnc () {

? ? ? ? ? pgrep ukui >> /dev/null

? ? ? ? ? ? #通過命令判斷 ukui是否是啟動成功的 在linux里 成功就是0 失敗就是 1

? ? ? ? ? ? if [ $? -eq 0 ];then

? ? ? ? ? ? echo "x11vnc start ok..."

? ? ? ? ? ? else

? ? ? ? ? ? ? ? echo $start_x11vnc

? ? ? ? ? ? fi

? ? ? ? ? }

? ? ? ? ? funname_xvfb () {

? ? ? ? ? ? pgrep xvfb >> /dev/null

? ? ? ? ? ? if [ $? -eq 0 ];then

? ? ? ? ? ? echo "xvfb START ok..."

? ? ? ? ? ? else

? ? ? ? ? ? ? echo $start_xvfb

? ? ? ? ? ? fi

? ? ? ? ? }



? ? ? ? ? funname_ukui () {

? ? ? ? ? ? pgrep ukui >> /dev/null

? ? ? ? ? ? ? if [ $? -eq 0 ];then

? ? ? ? ? ? ? echo "ukui START ok..."

? ? ? ? ? ? ? else

? ? ? ? ? ? ? ? echo $start_ukui

? ? ? ? ? ? ? fi

? ? ? ? ? }

? ? ? ? }

? ? ? ? def #執(zhí)行函數(shù)

? ? ? ? supervisor #保持容器不退出 他也是一個 進(jìn)程管理因為 容器沒有前臺進(jìn)程是會退出的 還有一種投機(jī)取巧的方法就是 ping 8.8.8.8 或者 tail -f 日志

? ? 3.3 編寫dockerfile?

? ? ? ? FROM ubuntukylin:v2

? ? ? ? COPY start.sh /start.sh

? ? ? ? COPY startgui.sh /home/dev/startgui.sh

? ? ? ? RUN chown dev:dev -R /home/dev/startgui.sh

? ? ? ? COPY vnc.conf /etc/supervisor/conf.d/vnc.conf

? ? ? ? RUN chmod 777 /start.sh

? ? ? ? RUN mkdir /var/run

? ? ? ? ADD config.tar /home/dev/

? ? ? ? RUN chown dev:dev -R /home/dev/.config/

? ? ? ? ENTRYPOINT ["/start.sh"]

? ? 3.4 docker build -t <images名稱:版本> .

? ? 3.5 打包完成以后 通過 docker images 查看啟動即可

? ? <如果需要打包其他系統(tǒng) 只要是linux 都可以使用這個方法 但是 有一些啟動的桌面 不一樣 我這個是ukui的桌面 >


Xvfb :5 -screen 0 1920x1080x24

ukui-session --display :5

x11vnc -display :5 -once -loop -noxdamage -repeat -rfbauth ~/.vnc/passwd -rfbport 5900 -shared? -scale 1920x1080 &

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末辰斋,一起剝皮案震驚了整個濱河市徐勃,隨后出現(xiàn)的幾起案子烹卒,更是在濱河造成了極大的恐慌裕寨,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件础拨,死亡現(xiàn)場離奇詭異牌借,居然都是意外死亡了赌,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進(jìn)店門吏夯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來此蜈,“玉大人,你說我怎么就攤上這事噪生●烧裕” “怎么了?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵跺嗽,是天一觀的道長战授。 經(jīng)常有香客問我,道長桨嫁,這世上最難降的妖魔是什么植兰? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮瞧甩,結(jié)果婚禮上钉跷,老公的妹妹穿的比我還像新娘。我一直安慰自己肚逸,他們只是感情好爷辙,可當(dāng)我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著朦促,像睡著了一般膝晾。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上务冕,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天血当,我揣著相機(jī)與錄音,去河邊找鬼。 笑死臊旭,一個胖子當(dāng)著我的面吹牛落恼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播离熏,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼佳谦,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了滋戳?” 一聲冷哼從身側(cè)響起钻蔑,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎奸鸯,沒想到半個月后咪笑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡娄涩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年窗怒,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钝满。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡兜粘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出弯蚜,到底是詐尸還是另有隱情孔轴,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布碎捺,位于F島的核電站路鹰,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏收厨。R本人自食惡果不足惜晋柱,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望诵叁。 院中可真熱鬧雁竞,春花似錦、人聲如沸拧额。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽侥锦。三九已至进栽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間恭垦,已是汗流浹背快毛。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工格嗅, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人唠帝。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓屯掖,卻偏偏與公主長得像,于是被迫代替她去往敵國和親没隘。 傳聞我的和親對象是個殘疾皇子懂扼,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,697評論 2 351