docker構(gòu)建ubuntu桌面通過(guò)vnc遠(yuǎn)程

noilinux打包docker文檔

? 1. 首先我們需要到noi的網(wǎng)站下載鏡像

? 2. 通過(guò)vmware或者其他方式安裝好系統(tǒng)

? 5. 安裝完成以后我們需要查看noilinu系統(tǒng)版本命令如下: 磁盤(pán)請(qǐng)使用40G

? ? ? ? lsb_release -a 查看版本

? 4. 知道版本以后我們 查看 磁盤(pán)有多少 如果沒(méi)有40G請(qǐng)你添加磁盤(pán) 通過(guò)vm掛載 進(jìn)入系統(tǒng)輸入命令查看磁盤(pán)有沒(méi)有添加成功 命令如下

? ? ? fdisk -l 查看磁盤(pán)

? ? 發(fā)現(xiàn)有一個(gè)叫dev/sdb的磁盤(pán)我們需要 把它分區(qū)

? ? ? fdisk /dev/sdb 分區(qū)開(kāi)始 按照提示進(jìn)行輸入

? ? ? 分區(qū)成功以后 通過(guò) mkfs.ext4 分成文件系統(tǒng)格式

? ? ? 通過(guò)mount進(jìn)行掛載 mount /dev/sdb1 /opt/

? 5. 我們通過(guò)tar命令就可以開(kāi)始打包系統(tǒng)了

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

? ? ? /proc、/sys、/run、/dev這幾個(gè)目錄都是系統(tǒng)啟動(dòng)時(shí)自動(dòng)生成的!依賴(lài)與系統(tǒng)內(nèi)核!

? ? ? 在進(jìn)行tar打包時(shí)候,注意打包過(guò)程中的錯(cuò)誤信息!如果有錯(cuò)誤出現(xiàn),要重新打包,

? ? ? 不然在通過(guò)docker構(gòu)建進(jìn)行時(shí),會(huì)給出找不到命令行或其他類(lèi)型的錯(cuò)誤!通過(guò)容器構(gòu)建鏡像的命令:

? 6. 在tmp目錄下面使用?

? ? ? ? cat system.tar | docker import - 鏡像名稱(chēng):版本? ? ? ?

? 7. 完成以后通過(guò)docker images即可查看鏡像

? 8. 完成以后 我們通過(guò)啟動(dòng)容器進(jìn)去安裝 vnc 和 supervisor

? ? ? 8.1 安裝vnc

? ? ? ? ? ? 8.1.1 更新源

? ? ? ? ? ? ? ? ? ? ? apt-get update

? ? ? ? ? ? 8.1.2 安裝vnc和supervisor

? ? ? ? ? ? ? ? ? ? ? apt-get install? vnc4server supervisor -y

? ? ? ? ? ? 8.1.3 初始化vnc

? ? ? ? ? ? ? ? ? ? ? vncserver 按照提示輸入密碼

? ? ? ? ? ? 8.1.4? 刪除第一個(gè)桌面

? ? ? ? ? ? ? ? ? ? ? vncserver -kill :1

? ? ? ? ? ? 8.1.5? 啟動(dòng)vnc

? ? ? ? ? ? ? ? ? ? ? vncserver :1

? ? ? ? ? ? 8.1.6? 查看是否啟動(dòng)成功

? ? ? ? ? ? ? ? ? ? ? ss -tlunp 端口{5901}

? ? ? ? ? ? 8.1.7 配置我們自己的~/.vnc/ 記住這個(gè)目錄一會(huì)有用


? 9. 配置supervisor{進(jìn)程管理工具}

? ? ? ? ? ? 9.1.1 配置supervisor 主你需要配置的就是 /etc/supervisor/conf.d/

? ? ? ? ? ? 記住這個(gè)目錄一會(huì)我們能用到

? 10. 保存當(dāng)前容器狀態(tài)為容器鏡像命令:

? ? ? ? ? ? docker commit -m "描述" -a "作者" -p 停止容器打包鏡像 {容器name} 打包名稱(chēng):打包版本

? 11. 因?yàn)槲覀儎倓偞虬鼞?yīng)用程序的進(jìn)程是啟動(dòng)不了我們需要一個(gè)腳本啟動(dòng)它

? ? ? ? 腳本內(nèi)容:? #!/bin/bash

? ? ? ? ? ? ? ? ? /usr/bin/supervisord

? 12.? 配置進(jìn)程管理工具 需要管理的進(jìn)程配置文件

? ? ? ? 配置內(nèi)容:? [program:vnc] #管理進(jìn)程名稱(chēng)

? ? ? ? ? ? ? ? ? directory=/root/ #命令執(zhí)行目錄

? ? ? ? ? ? ? ? ? command=bash /opt/vnc.sh #執(zhí)行的命令

? ? ? ? ? ? ? ? ? autostart=true

? ? ? ? ? ? ? ? ? user=root #執(zhí)行以后

? ? ? ? ? ? ? ? ? autorestart=true

? ? ? ? ? ? ? ? ? startretries=100 #等級(jí)

? ? ? ? ? ? ? ? ? redirect_stderr=true

? ? ? ? ? ? ? ? ? stdout_logfile=/dev/null #日志輸出目錄

? 13.? 編寫(xiě)vnc啟動(dòng)腳本

? ? ? ? 腳本內(nèi)容:? #!/bin/bash

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

? ? ? ? ? ? ? ? ? vncserver :1

? 14? 編寫(xiě)vncxstartup腳本

? ? ? ? 腳本內(nèi)容:? ? ? #!/bin/sh

? ? ? ? ? ? ? ? ? ? ? # Uncomment the following two lines for normal desktop:

? ? ? ? ? ? ? ? ? ? ? export XKL_XMODMAP_DISABLE=1

? ? ? ? ? ? ? ? ? ? ? unset SESSION_MANAGER

? ? ? ? ? ? ? ? ? ? ? # exec /etc/X11/xinit/xinitrc

? ? ? ? ? ? ? ? ? ? ? unset DBUS_SESSION_BUS_ADDRESS

? ? ? ? ? ? ? ? ? ? ? gnome-panel &

? ? ? ? ? ? ? ? ? ? ? gnome-settings-daemon &

? ? ? ? ? ? ? ? ? ? ? metacity &

? ? ? ? ? ? ? ? ? ? ? nautilus &

? ? ? ? ? ? ? ? ? ? ? gnome-terminal &

? 15.? 編寫(xiě)dockerfile 因?yàn)槲覀冞@些腳本和配置文件都是在外面的我需要寫(xiě)一個(gè)dockerfile打包進(jìn)去? ? ? ?

? ? ? ? dockerfile內(nèi)容:? FROM 剛剛打包的鏡像

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

? ? ? ? ? ? ? ? ? ? ? ? COPY xstartup? ~/.vnc/

? ? ? ? ? ? ? ? ? ? ? ? COPY vnc.sh? ? /opt/

? ? ? ? ? ? ? ? ? ? ? ? COPY entrypoint.sh /entrypoint.sh

? ? ? ? ? ? ? ? ? ? ? ? RUN chmod 777 entrypoint.sh

? ? ? ? ? ? ? ? ? ? ? ? ENTRYPOINT ["entrypoint.sh"]

? 16. 構(gòu)建docker-images

? ? ? ? ? ? 命令: docker build -t 鏡像名稱(chēng):版本 .

? 17.? 構(gòu)建完成以后啟動(dòng)容器 端口映射出容器里面的5901端口到宿主機(jī)我們通過(guò)宿主機(jī)即可遠(yuǎn)程桌面

? ? ? ? ? ? 命令: docker run -it --name 容器名稱(chēng) -p 5901:5901 -d 鏡像名稱(chēng)

? 18.? 這樣子即可通過(guò)VNC遠(yuǎn)程查看我們的noilinux-docker容器桌面了? ? ? ? ? ? ? ? ? ? ?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容