1 安裝Docker for windows
1.1下載Docker for windows
從下面的網址中下載Docker for windows並安裝.
https://www.docker.com/products/docker-toolbox
1.2啟動Docker for windows及其他處理
雙擊快捷方式"Docker Quickstart Terminal"啟動該軟件.
使用如下命令設置代理:
docker-machine ssh default
sudo -i
cat /var/lib/boot2docker/profile | tail -n 1
export HTTP_PROXY=http://ip:port
exit
exit
docker-machine start
2 SSH訪問
因為docker for windows的terminal不能拷貝,所以建議使用SSH進行操作.
2.1獲取虛擬機IP
docker for windows可能是在windows上進行訪問,所以不能使用ifconfig命令,只能使用ipconfig,得到的地址是windows的IP地址.
Docker for windows是在一個虛擬機上運行的, 用戶名/密碼為: docker/tcuser.
打開虛擬機,在命令行中輸入ifconfig可以獲取虛擬機IP地址.
2.2 通過SSH訪問
使用得到的IP,22號端口, 用戶名/密碼:docker/tcuser訪問docker.
例如:
3創建Dockerfile並編譯
此處Dockerfile及start.sh與前面的一樣.
我是將Dockerfile放到Windows底下,具體目錄是D:/docker/desktop.
使用
3.1 Dockerfile
# Dockerfile of Run GUI
FROM centos:6.9
MAINTAINER email@email.com
COPY start.sh /home/start.sh
COPY lib/libssl.so.6 /usr/lib/libssl.so.6
COPY lib/libssl.so.0.9.8e /usr/lib/libssl.so.0.9.8e
COPY lib/libcrypto.so.6 /usr/lib/libcrypto.so.6
COPY lib/libcrypto.so.0.9.8e /usr/lib/libcrypto.so.0.9.8e
RUN /home/start.sh
ENTRYPOINT ["gui.py"]
3.2 Start.sh
# set DNS of rock901.atc
echo ip rock901.atc >> /etc/hosts
cat /etc/hosts
# recache yum source
rm -rf /etc/yum.repos.d/*
curl -o /etc/yum.repos.d/CentOS-Local.repo http://rock901.atc/downloads/CentOS-Local.repo
cat /etc/yum.repos.d/CentOS-Local.repo
yum clean all
yum makecache
yum install -y wxGTK*
yum install -y xulrunner.i686
yum install -y libXtst.i686
yum install –y libcanberra-gtk2.i686
yum install -y gtk2-engines.i686
yum install -y PackageKit-gtk-module.i686
yum install -y openssl openssl-devel
3.3 在虛擬機中編譯Dockerfile
我們在虛擬機中編譯Dockerfile,編譯命令為:
docker build -t author_docker69_v1 /home/author/Dockerfiler/desktop
會提示我們沒有權限執行start.sh.
docker@default:/mnt/sda1/tmp/author/desktop$ docker build -t docker69_v1 .
Sending build context to Docker daemon 3.072kB
Step 1/8 : FROM centos:6.9
---> bf590786153a
Step 2/8 : MAINTAINERemail@mmail
---> Using cache
---> 2fd4d38e15a2
Step 3/8 : COPY start.sh /home/start.sh
---> Using cache
---> 402e8737c90d
Step 4/8 : RUN /home/start.sh
---> Running in 3a0716e1b5a8
/bin/sh: /home/start.sh: Permission denied
The command '/bin/sh -c /home/start.sh' returned a non-zero code: 126
docker@default:/mnt/sda1/tmp/matthew/desktop$
3.4 在Docker for windows terminal編譯Dockerfile
在虛擬機中無法編譯Dockerfile, 需要在docker For windows terminal中編譯.
使用命令:
cd /tmp/desktop
docker build -t docker69_v1 .
編譯成功:
注意:
1: 在” Docker Quickstart Terminal”中能訪問Windows的目錄, 編譯后的image在” Docker Quickstart Terminal”和ssh(訪問虛擬機)中都能查看.
4 Xming
在Windows7中運行Docker里的GUI, 是使用SSH遠程訪問Linux里的Docker容器.
是使用X11服務來實現的. 需要在Windows中安裝Xming.
注:
1: 無法使用Docker for windows將Docker放在Windows上運行,並通過Windows訪問Ride GUI程序,因為Docker是安裝在一個虛擬機上,而這個虛擬機沒有權限安裝軟件,例如SSH的服務器端和客戶端,無法設置/etc/ssh/sshd_config中的X11Forwarding配置項.
打算下一步嘗試在Windows下訪問Docker for windows的Docker.
2: Xming: Xming是一個在 Microsoft Windows 操作系統上運行 X Window System 的自由軟件。主要功能是通過在Linux平台上通過交叉編譯的方法,實現了跨越操作系統對X GUI的表現.
5 安裝Xming和Putty
5.1 下載軟件
Xming的下載地址:https://xming.en.softonic.com/;https://sourceforge.net/projects/xming/
當前使用Xming-6-9-0-31-setup.exe.
Putty下載地址: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
5.2 配置Xming
安裝Xming后, 需要啟動XLaunch.
一路Next下來,注意下面頁面選擇No Access Control
啟動后,會在下面看到相關的圖標.
5.3 配置Putty
設置服務器(運行Docker的linux)IP.
添加用戶名:
X11的相關配置
6使用putty啟動Docker
打開putty並鏈接虛擬機, 啟動docker.命令如下:
docker run -d -v /etc/localtime:/etc/localtime:ro --net=host -e DISPLAY=192.168.99.1:0.0 -v $HOME/slides:/root/slides -v $HOME/.Xauthority:/root/.Xauthority -e GDK_SCALE -e GDK_DPI_SCALE --name xmrtest -v /home/author/robot:/home/robot docker69_v1