上犹电脑信息网我们一直在努力
您的位置:上犹电脑信息网 > win7问题 > 如何在<em>docker</em>中运行windows-docker win7,win7安装d

如何在<em>docker</em>中运行windows-docker win7,win7安装d

作者:上犹日期:

返回目录:win7问题


对于Docker的安装在官网上针对不同的操作系统分别进行了描述,Ubuntu上安装Docker,对于ubuntu操作系统来说必须是64位的,因e69da5e887aae799bee5baa6339为Docker的官网上只是提供了64位的docker,如果需要32位的docker则需要下载源码进行编译,这里有篇文章介绍了Docker源码如何进行编译成32位,编译32位的Docker。但是对于我使用的Ubuntu来说正好是32位的。通过下面的两条命令可以看出操作系统的位数和Linux的内核版本。

root@ubuntu:/tmp#uname -a
Linux e529c1b7772a 3.13.0-12-generic #32-Ubuntu SMP Fri Feb 21 17:44:24 UTC 2014 i686 i686 i686 GNU/Linux
root@ubuntu:/tmp#file /sbin/init
/sbin/init: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=1c47d1e162f6542994e457394ac52078da5cc023, stripped
如果想在32为的Ubuntu操作系统上运行Docker的话,就必须安装32位的Docker。在Ubuntu中提供docker1.01-32位的deb包,可以直接点击“docer1.01-32位deb包”跳转到下载页面。下载完成后,直接使用dpkg –i进行安装。
dpkg -i docker.io_1.0.1~dfsg1-0ubuntu1~ubuntu0.14.04.1_i386.deb
Selecting previously unselected package docker.io.
(Reading database ... 150021 files and directories currently installed.)
Preparing to unpack docker.io_1.0.1~dfsg1-0ubuntu1~ubuntu0.14.04.1_i386.deb ...
Unpacking docker.io (1.0.1~dfsg1-0ubuntu1~ubuntu0.14.04.1) ...
Setting up docker.io (1.0.1~dfsg1-0ubuntu1~ubuntu0.14.04.1) ...
docker.io start/running, process 10456
Processing triggers for ureadahead (0.100.0-16) ...
Processing triggers for man-db (2.6.6-1) ...
也可以参考下面的这篇文章《Docker 1.0.1 已经可以在 Ubuntu 14.04 LTS 上测试了!》进行安装。安装完成后,可以使用下面的命令确定安装的版本和基本的信息。由于docker使用go语言进行编写的,所以要依赖于GO的编译工具和库文件。
oot@ubuntu:/tmp# docker version
Client version: 1.0.1
Client API version: 1.12
Go version (client): go1.2.1
Git commit (client): 990021a
Server version: 1.0.1
Server API version: 1.12
Go version (server): go1.2.1
Git commit (server): 990021a
root@ubuntu:/tmp# docker info
Containers: 1
Images: 7
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Dirs: 10
Execution Driver: native-0.2
Kernel Version: 3.13.0-12-generic
WARNING: No swap limit support
官方安装方式docker pull imagename从docker的索引中心下载,imagename是镜像名称,例如docker pull ubuntu就是下载base ubuntu并且tag是latest。
root@ubuntu:/# docker pull ubuntu:14.04
Pulling repository ubuntu
c4ff7513909d: Download complete
511136ea3c5a: Download complete
1c9383292a8f: Download complete
9942dd43ff21: Download complete
d92c3c92fa73: Download complete
0ea0d582fd90: Download complete
cc58e55aa5a5: Download complete
root@ubuntu:~/Downloads# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu 14.04 c1b5399bd2ee 8 minutes ago 205.3 MB
learn/tutorial latest 8dbd9e392a96 17 months ago 128 MB
root@ubuntu:/# docker run -i -t ubuntu /bin/bash
2014/09/04 13:04:28 exec format error
docker run -i -t learn/tutorial /bin/bash
2014/09/04 14:45:13 exec format error
PS:在安装完成Dokcer后,使用Pull命令sudo docker pull ubuntu:14.04从镜像仓库获取ubuntu的镜像后,然后使用run命令docker run -i -t ubuntu /bin/bash直接运行该镜像时,会出现下面的错误信息,后来我又尝试着使用官方演示使用的learn/tutorial镜像,还是出现同样的问题,现在怀疑可能是由于我安装的DOcker是32位的,而Image是64位的不匹配造成的。前面说过Docker默认提供的都是64位,其中提供的Image自然也都是64位,所以会出现下面的错误信息。在Docker Hub Registry里的大多数镜像都是64位。这里有一个关于该错误的讨论帖“Ddocker.io: Docker should recommend
linux-image-amd64 ”。所以,如果想在32位的Docker基础上运行Ubuntu的Image那要求Ubuntu的image也必须是32位。这就需要制作32位Ubuntu的Image。这里有一个官方提供的可用的Ubuntu image的列表,Ubuntu Image tag。

我们来了解一下 Windows 操作系统中的 Docker 以及在其中安装 Docker Windows 客户端的知识。Docker 引擎使用 Linux 特有的内核特性,因此不能通过 Windows 内核运行,所以,(在 Windows 上)Docker 引擎创建了一个小的虚拟系统运行 Linux 并利用它的资源和内核。这样,Windows Docker 客户端就可以用这个虚拟的 Docker 引擎来构建、运行以及管理 Docker 容器。有个叫 Boot2Docker 的团队开发了一个同名的应用程序,它创建了一个虚拟机来运行基于Tiny Core Linux特制的小型 Linux,来在 Windows 上运行 Docker 容器。它完全运行在内存中,需要大约 27M 内存并能在 5秒 (因人而异) 内启动。因此,在用于 Windows 的 Docker 引擎被开发出来之前,我们在 Windows 机器里只能运行 Linux 容器。

下面是安装 Docker 客户端并在上面运行容器的简单步骤。

1. 下载 Boot2Docker
在我们开始安装之前,我们需要 Boot2Docker 的可执行文件。可以从 它的 Github 下载最新版本的 Boot2Docker。在这篇指南中,我们从网站中下载版本 v1.6.1。我们从那网页中用我们喜欢的浏览器或者下载管理器下载了名为 docker-install.exe 的文件。
2. 安装 Boot2Docker
现在我们运行安装文件,它会安装 Window Docker 客户端、用于 Windows 的 Git(MSYS-git)、VirtualBox、Boot2Docker Linux ISO 以及 Boot2Docker 管理工具,这些对于开箱即用地运行全功能的 Docker 引擎都至关重要。
3. 运行 Boot2Docker
安装完成必要的组件之后,我们从桌面上的“Boot2Docker Start”快捷方式启动 Boot2Docker。它会要求你输入以后用于验证的 SSH 密钥。然后会启动一个配置好的用于管理在虚拟机中运行的 Docker 的 unix shell。

检查否确配置运行面 docker version 命令
docker version

4. 运行 Docker
由于 Boot2Docker Start 自启已经确设置环境变量 shell我马始使用 Docker请注意我要 Boot2Docker 作远程 Docker 守护进程要 docker 命令前加 sudo
现让我试试 hello-world 例镜像载 hello-world 镜像运行并输 "Hello from Docker" 信息
$ docker run hello-world

5. 使用命令提示符(CMD) 运行 Docker

现想始用命令提示符使用 Docker打命令提示符(CMD.exe)由于 Boot2Docker 要求 ssh.exe PATH 我需要命令提示符输入命令使 %PATH% 环境变量包括 Git 安装目录 bin 文件夹
set PATH=%PATH%;"c:\Program Files (x86)\Git\bin"
运行面命令我命令提示符运行 boot2docker start 启 Boot2Docker 虚拟机
boot2docker start
注意: 看 machine does no exist 错误信息运行 boot2docker init 命令

复制图控制台标命令 cmd.exe 控制台窗口设置环境变量我像平运行 docker 容器

6. 使用 PowerShell 运行 Docker

能 PowerShell 运行 Docker我需要启 PowerShell 窗口并添加 ssh.exe PATH 变量
$Env:Path="${Env:Path};c:\Program Files (x86)\Git\bin"
运行完面命令我需要运行
boot2docker start

打印用于设置环境变量连接虚拟机内部运行 Docker PowerShell 命令我需要 PowerShell 运行些命令平运行 docker 容器

7. 用 PUTTY 登录

Boot2Docker %USERPROFILE%.ssh 目录使用用于登录公共私密钥我需要使用文件夹私密钥私密钥需要转换 PuTTY 格式我通 puttygen.exe 实现

我需要打 puttygen.exe 并 %USERPROFILE%.ssh\id_boot2docker 导入("File"->"Load" 菜单)私钥点击 "Save Private Key"用保存文件通 PuTTY 用 docker@127.0.0.1:2022 登录

8. Boot2Docker 选项

Boot2Docker 管理工具提供些命令所示
$ boot2docker
Usage: boot2docker.exe [<options>]{help|init|up|ssh|save|down|poweroff|reset|restart|config|status|info|ip|shellinit|delete|download|upgrade|version}[<args>]

总结
通 Docker Windows 客户端使用 Docker 趣Boot2Docker 管理工具能使任何 Docker 容器能像 Linux 主机平滑运行棒应用程序更仔细发7a64e58685e5aeb9363现 boot2docker 默认用户用户名 docker密码 tcuser新版本 boot2docker 设置 host-only 网络适配器提供访问容器端口般说 192.168.59.103通 VirtualBox DHCP 实现改变
1、更新Ubuntu内核
使用如下命令行更新内核至3.8.0-25
sudo apt-get install linux-image-3.8.0-25-generic
sudo apt-get install linux-headers-3.8.0-25-generic
完成后重启电脑,通过命令 “uname -r” 来查看内核是否成功更新。

2、安装lxc-docker
root@ubuntu: sudo apt-get install software-properties-common #增加 add-apt-repository 命令
root@ubuntu: sudo apt-get install python-software-properties
root@ubuntu: sudo add-apt-repository ppa:dotcloud/lxc-docker #增加一个ppa源,如:ppa:user/ppa-name
root@ubuntu: sudo apt-get update #更新系统
root@ubuntu: sudo apt-get install lxc-docker

3、测试doctor是否安装成功

root@ubuntu:~# docker #出现如下信息表示docker安装成功
Usage: docker [OPTIONS] COMMAND [arg...]
-H=[tcp://127.0.0.1:4243]: tcp://host:port to bind/connect to or unix://path/to/socket touse

A self-sufficient runtime for linux containers.
...

4、Hello World
4.1、下载官方ubuntu image
linjiqin@ubuntu:~$ sudo docker pull ubuntu #pull命令需要到国外的镜像仓库,拉取镜像,因为GFW的关系,拉取失败的可能性很大

4.2、运行hello world
linjiqin@ubuntu:~$ sudo docker run ubuntu /bin/echo hello world

5、docker常用命令
5.1、docker三种命令运行模式
docker有三种命令运行的方式:短暂方式、交互方式、daemon方式。
a、短暂方式:就是刚刚的那个”hello world”,命令执行完后,container就终止了,不过并没有消失,可以用 sudo docker ps -a 看一下所有的container,第一个就是刚刚执行过的container,可以再次执行一遍:
linjiqin@ubuntu:~$ sudo docker start container_id

不过这次看不到”hello world”了,只能看到ID,用logs命令才能看得到:
linjiqin@ubuntu:~$ sudo docker logs container_id
可以看到两个”hello world”,因为这个container运行了两次。

b、交互方式
linjiqin@ubuntu:~$ sudo docker run -i -t image_name /bin/bash #image_name为docker镜像名称

c、daemon方式
即让软件作为长时间服务运行,这就是SAAS啊!
例如,一个无限循环打印的脚本(替换为memcached、apache等,操作方法仍然不变!):
linjiqin@ubuntu:~$ CONTAINER_ID=$(sudo docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done")

在container外面查看它的输出
linjiqin@ubuntu:~$ sudo docker logs $CONTAINER_ID
或者连接上容器实时查看
linjiqin@ubuntu:~$ sudo docker attach $CONTAINER_ID

终止容器
linjiqin@ubuntu:~$ sudo docker stop $CONTAINER_ID
linjiqin@ubuntu:~$ sudo docker ps #看一下,已经没了

5.2、docker ps命令
linjiqin@ubuntu:~$ sudo docker ps #列出当前所有正在运行的container
linjiqin@ubuntu:~$ sudo docker ps -l #列出最近一次启动e79fa5e98193e78988e69d83364的,且正在运行的container
linjiqin@ubuntu:~$ sudo docker ps -a #列出所有的container
注意:
a、其他用法请参考 sudo docker ps -h
b、还有一种方式可以让程序在daemon模式下运行,就是在Dockerfile里设置USER为daemon

5.3、docker export命令
linjiqin@ubuntu:~$ container_id=`docker run -d <image_name> ls`
linjiqin@ubuntu:~$ docker export $container_id > image.tgz

5.4、docker import命令
linjiqin@ubuntu:~$ cat image.tgz | sudo docker import - simple_dev #simple_dev为自定义的镜像名称

5.5、docker port命令
linjiqin@ubuntu:~$ docker run -p 80:8080 <image> <cmd> #映射容器的8080端口到宿主机的80端口

5.6、删除容器
5.6.1、删除所有容器
linjiqin@ubuntu:~$ sudo docker rm `sudo docker ps -a -q`

5.6.1、删除具体某个容器
linjiqin@ubuntu:~$ sudo docker rm $CONTAINER_ID

5.7、docker命令快速参考
linjiqin@ubuntu:~$ sudo docker images #查看本地镜像
linjiqin@ubuntu:~$ sudo docker attach $CONTAINER_ID #启动一个已存在的docker实例
linjiqin@ubuntu:~$ sudo docker stop $CONTAINER_ID #停止docker实例
linjiqin@ubuntu:~$ sudo docker logs $CONTAINER_ID #查看docker实例运行日志,确保正常运行

linjiqin@ubuntu:~$ sudo docker inspect $CONTAINER_ID #查看container的实例属性,比如ip等等

sudo docker run -t -i -v /home/linjiqin/dev/docker:/home/mycontainer:rw -p 8000:8000 mydocker /bin/bash

写在前面,运行我们的镜像的命令使用上面的为参考,这样会挂载本地文件夹,并且会映射container的8000端口到宿主机的8000端口
/home/linjiqin/dev/docker为要挂载的本地文件夹,需提前创建
/home/mycontainer为docker映射路径,执行上面命令会帮我们创建

步骤一:安装客户端时不要直接双击运行,请在安装文件上右键菜单,选择“以zd管理员身份运行”按照提示安装完毕后不要立即重启操作系统,而是选择“稍后重新启动计算机”
步骤二:进入iNode安装目录(32位系统缺省在C:\Program Files\H3C\iNode Client,64位系统缺省在C:\Program Files (x86)\H3C\iNode Client),找到文件AuthenMngService.exe,右键菜单选择属性。
在文件的属性窗口中选择兼容性选项卡,点击“更改所有用户的设置”。
打开“所有用户的兼容性”窗口,在勾选“以兼容模式运行这个程序”,并选择“Windows Vista”或者“Windows XP (Service Pack 3)”。然后勾选“以管理员身份运行该程序”。
确定后,文件属性窗口中兼容性选项卡会变成如下所示,并且不可再被设置。
确定后,完成AuthenMngService.exe的设置。
步骤三:使用步骤二中的方法对iNode Client.exe进行同样的设置。
步骤四:重启操作系统即可正常使用认证客户端。

相关阅读

  • -win7格机,lephone怎么强制开机

  • 上犹win7问题
  • 【自己动手免费装系统方案】一、直接在硬盘装(前提是有XP系统或WIN7系统)。1、到系统之家下载WINDOWS7《深度完美 GHOST WIN7 SP1 X86 装机旗舰版 V2012.11》或《e799bee5baa6e79fa5e98193e59b9ee7ad9
关键词不能为空
极力推荐

电脑蓝屏_电脑怎么了_win7问题_win10问题_设置问题_文件问题_上犹电脑信息网

关于我们