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

Docker开发实践:在windows 7中使用Docker for windows访问GUI的更多相关文章

  1. 『开发技术』Docker开发教程(一)安装与测试(Windows 家庭版)

    0.前言 针对其他系统和版本,Docker都很容易安装,可以参考官方教程:https://docs.docker.com/docker-hub/ 由于Windows10家庭版无法安装docker,因此 ...

  2. docker开发实践

    一:docker的定义和使用场景: Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VM ...

  3. 使用 Puppet 在 Windows Azure 中配备 Linux 和 Windows 环境

     发布于 2013-12-11 作者 Ross Gardler 微软开放技术有限公司 (MS Open Tech) 很高兴地宣布发行新的 Windows Azure Puppet 模块.通过这个模 ...

  4. Windows编程中的若干难点 - Windows程序设计(SDK)007

    Windows编程中的若干难点 让编程改变世界 Change the world by program 一个窗口的生与死 我记得有童鞋会问:如果我的程序需要在关闭前让用户判断是否确定要关闭窗口,我应该 ...

  5. Android开发---如何操作资源目录中的资源文件4 ---访问xml的配置资源文件的内容

    Android开发---如何操作资源目录中的资源文件4 XML,位于res/xml/,这些静态的XML文件用于保存程序的数据和结构. XmlPullParser可以用于解释xml文件 效果图: 描述: ...

  6. 有关 Windows 10 中“适用于 Linux 的 Windows 子系统(Beta)”

    1.如何启用?(未来应该可从应用商店中直接安装) 在"控制面板"的"启用或关闭 Windows 功能"中进行勾选安装.(安装完成后需要重新启动) 2.然后呢? ...

  7. Docker学习笔记之-在CentOS中安装Docker

    上一节演示了如何 通过Xshell连接CentOS服务,链接:Docker学习笔记之-通过Xshell连接 CentOS服务 本节将演示 如何在CentOS中安装 Docker 第一步:更新系统包到最 ...

  8. 在Windows环境中开始Docker的学习和体验

    研究docker有一段时间了,当然我主要的使用环境还是在Linux中,确实很方便. 但也有不少朋友希望使用Windows来工作学习,这里介绍一下在Windows中如何快速开始Docker的学习和体验吧 ...

  9. AI开发实践:关于停车场中车辆识别与跟踪

    摘要:本案例我们使用FairMOT进行车辆检测与跟踪.yolov5进行车牌检测.crnn进行车牌识别,在停车场入口.出口.停车位对车辆进行跟踪与车牌识别,无论停车场路线多复杂,小车在你掌控之中! 本文 ...

  10. Windows phone 应用开发系列教程(更新中)

    Windows phone 应用开发[1]-Text To Speech        作为开篇章节.第一篇将在如下介绍一些Windows phone比较有意思的东西-Text To Speech[文 ...

随机推荐

  1. Spring AI + ollama 本地搭建聊天 AI

    Spring AI + ollama 本地搭建聊天 AI 不知道怎么搭建 ollama 的可以查看上一篇Spring AI 初学. 项目可以查看gitee 前期准备 添加依赖 创建 SpringBoo ...

  2. shell最简单的办法实现进度条

    一直很好奇shell命令行安装脚本的时候怎么实现自动增长进度条而且不增加新输出的问题.以前一直觉得是不断print出来东西,但是已经输出到命令行终端的为什么也能被覆盖呢,于是看到别人写的进度条,不断尝 ...

  3. C# 开发的环境监测上位机应用

    前言 在工业和科研领域,环境监测系统的重要性日益凸显.上位机软件作为环境监测系统的关键组成部分,负责数据采集.处理和显示,对提高监测效率和准确性起着至关重要的作用. 本文将向大家介绍一款用 C# 开发 ...

  4. 鸿蒙NEXT开发案例:血型遗传计算

    [引言] 血型遗传计算器是一个帮助用户根据父母的血型预测子女可能的血型的应用.通过选择父母的血型,应用程序能够快速计算出孩子可能拥有的血型以及不可能拥有的血型.这个过程不仅涉及到了简单的数据处理逻辑, ...

  5. Apache 门户项目组介绍

    本文将快速浏览 Apache 门户项目组的所有项目,并着重介绍门户项目组中的核心项目-Jetspeed-2. 0 评论: 廖 健, 首席实施顾问 2006 年 11 月 02 日 内容 引言 JEE作 ...

  6. 设计模式(17)-Chain of Responsibility Pattern

    行为模式(Behavioral Pattern)是对在不同的对象之间划分责任和算法的抽象化.行为模式不仅仅是关于类和对象的,而且是关于它们之间的相互作用的. 行为模式分为类的行为模式和对象的行为模式两 ...

  7. windows下python批量更新软件包

    前言 相信很多小伙伴都遇到过python有些软件包版本过低导致无法安装一些模块的问题,刚好我前两天也遇到了,这里写个文章记录一下 一.更新pip版本 打开命令控制面板,输入: python -m pi ...

  8. Jetpack Compose 的原理性文章

    正在写一篇关于UI的思考,接触到 Android 的 Jetpack Compose: 从第一原则撰写 | 可理解的胡言乱语

  9. 【XML】学习笔记第三章-namesapce

    目录 命名空间 命名空间概述 命名空间语法 命名空间的声明 命名空间作用域 对命名空间的使用 元素对命名空间的使用 属性对命名空间的使用 DTD对命名空间的支持 命名空间 命名空间概述 标记中出现了同 ...

  10. Ubuntu sudo nopasswd方法

    1 运行 visudo 2 假设用户名为yourname, 则在最后一行添加: # User privilege specificationroot ALL=(ALL:ALL) ALL# Member ...