1 回答

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊
1. 安裝 Docker
在開始前,我們首先得確保在Linux主機(jī)中已經(jīng)安裝了Docker。這里,我運(yùn)行的是CentOS 7 主機(jī),我們將運(yùn)行yum管理器和下面的命令來安裝Docker。
# yum install docker
# systemctl restart docker.service
2. 創(chuàng)建 Dockerfile
現(xiàn)在,Docker守護(hù)進(jìn)程已經(jīng)在運(yùn)行中了,我們現(xiàn)在準(zhǔn)備創(chuàng)建自己的Firefox Docker容器。我們要?jiǎng)?chuàng)建一個(gè)Dockerfile,在其中我們要輸入需要的配置來創(chuàng)建一個(gè)可以工作的Firefox容器。為了運(yùn)行 Docker 鏡像我們需要使用最新版本的CentOS。要?jiǎng)?chuàng)建 Docker 鏡像,我們需要用文本編輯器創(chuàng)建一個(gè)名為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:${uid}:${gid}:Developer,,,:/home/developer:/bin/bash" >> /etc/passwdRUN echo "developer:x:${uid}:" >> /etc/groupRUN echo "developer ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoersRUN chmod 0440 /etc/sudoersRUN chown ${uid}:${gid} -R /home/developerUSER developerENV HOME /home/developerCMD /usr/bin/firefox
注意:在第四行的配置中,用你自己的用戶和組id來替換0。 我們可以用下面的命令在shell或者終端中得到uid和gid。
# id $USER
3. 構(gòu)造Docker容器
下面我們就要根據(jù)上面的Dockerfile構(gòu)建一個(gè)容器。它會(huì)安裝firefox瀏覽器和它需要的包。它接著會(huì)設(shè)置用戶權(quán)限并讓它可以工作。這里鏡像名是firefox,你可以根據(jù)你的需要命名。
# docker build --rm -t firefox .
4. 運(yùn)行Docker容器
現(xiàn)在,如果一切順利,我們現(xiàn)在可以在運(yùn)行在CentOS 7鏡像中的Docker容器里面運(yùn)行我們的GUI程序也就是Firefox瀏覽器了。
# docker run -ti --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix firefox
總結(jié)
在Docker容器中運(yùn)行GUI程序是一次很棒的體驗(yàn),它對(duì)你的主機(jī)文件系統(tǒng)沒有任何的傷害。它完全依賴你的Docker容器。本教程中,我嘗試了CentOS 7 Docker中的Firefox。我們可以用這個(gè)技術(shù)嘗試更多的GUI程序。
- 1 回答
- 0 關(guān)注
- 969 瀏覽
添加回答
舉報(bào)