window下docker的安装和配置过程

版权声明:同步发布: http://www.wanqing520.cn https://blog.csdn.net/u010570551/article/details/76973784

说明

本文在腾讯内部门户有分享,现在放在CSDN上,不存在任何涉及到腾讯内部机密的内容。

下载安装文件

不要从官网上下载docker-toolbox,从github上下载安装文件。
https://github.com/boot2docker/windows-installer/releases

这个和docker toolbox内容差不多是一致的,也带有virtualbox的附加选项。
安装的时候建议,选择自带的virtualbox,防止其他兼容性的问题。

安装后如何启动

boot2docker不像docker toolbox那样会在桌面上生成两个快捷方式。只会在桌面上生成一个Boot2Docker Start
的快捷方式。
双击该快捷方式,boot2docker会在virtualbox中启动一个虚拟机,这些都不是我们需要关心的事情。

第一次启动时的设置

双击桌面的Boot2Docker Start快捷方式进行启动,使用boot2docker ssh进入到docker-machine中。

boot2docker ssh

我们会在控制台看到类似于下面的输出信息

$ boot2docker ssh
                        ##         .
                  ## ## ##        ==
               ## ## ## ## ##    ===
           /"""""""""""""""""\___/ ===
      ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
           \______ o           __/
             \    \         __/
              \____\_______/
 _                 _   ____     _            _
| |__   ___   ___ | |_|___ \ __| | ___   ___| | _____ _ __
| '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__|
| |_) | (_) | (_) | |_ / __/ (_| | (_) | (__|   <  __/ |
|_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_|
Boot2Docker version 1.8.0, build master : 7f12e95 - Tue Aug 11 17:55:16 UTC 2015
Docker version 1.8.0, build 0d03096
docker@boot2docker:~$

这时候我们就已经进入到virtualbox 的docker虚拟机中了

设置代理

这当然是肯定要做的事情了,因为我们公司内部的办公网和开发网都是需要设置代理才能正常访问某些网站的,所以来设置吧。

 sudo vi /var/lib/boot2docker/profile

我的电脑是接入的开发网,因此这里设置的是开发网的代理地址,如果你的是公办网,请使用办公网的代理地址,可以使用vi进行编辑,因为在没有正确设置代理之前,你可能无法安装vim~~~~

docker@boot2docker:~$ cat /var/lib/boot2docker/profile
export HTTP_PROXY=http://dev-proxy.xxx.com:8080
export HTTPS_PROXY=https://dev-proxy.xxx.com:8080

重启

设置好代理,如何使我们的设置生效,肯定需要重启的啦~~~
如何重启??我肯定会说的,使用boot2docker的命令就可以进行重启操作了。

 boot2docker stop

那现在你或许明白了,boot2docker ssh快捷方式也就是使用了类似于

boot2docker start

这样的命令来启动docker容器的,事实上确实如此~~~
那我们就使用start子命令来启动容器吧

 boot2docker start

  WARNING: The 'boot2docker' command line interface (not to be confused with
  'boot2docker' the operating system) is officially deprecated.

  Please switch to Docker Machine (https://docs.docker.com/machine/) ASAP.

  Docker Toolbox (https://docker.com/toolbox) is the recommended install method.

Waiting for VM and Docker daemon to start...
.................ooo
Started.
Writing C:\Users\shugenniu\.boot2docker\certs\boot2docker-vm\ca.pem
Writing C:\Users\shugenniu\.boot2docker\certs\boot2docker-vm\cert.pem
Writing C:\Users\shugenniu\.boot2docker\certs\boot2docker-vm\key.pem

To connect the Docker client to the Docker daemon, please set:
    export DOCKER_TLS_VERIFY=1
    export no_proxy=git.code.xxx.com,localhost,192.168.59.103
    export DOCKER_HOST=tcp://192.168.59.103:2376
    export DOCKER_CERT_PATH='C:\Users\shugenniu\.boot2docker\certs\boot2docker-vm'

Or run: `eval "$(boot2docker shellinit)"`

如果你正确地输入了start子命令,那应该可以看到我们需要配置以下信息

    export DOCKER_TLS_VERIFY=1
    export no_proxy=git.code.xxx.com,localhost,192.168.59.103
    export DOCKER_HOST=tcp://192.168.59.103:2376
    export DOCKER_CERT_PATH='C:\Users\shugenniu\.boot2docker\certs\boot2docker-vm'

按照控制台给出的提示,我们可以逐个设置也可以使用eval "$(boot2docker shellinit)"命令来进行设置。
我还是比较喜欢单个的操作,一个个来吧

shugenniu@shugenniu-PC0 MINGW64 /d
$  export DOCKER_TLS_VERIFY=1

shugenniu@shugenniu-PC0 MINGW64 /d
$  export no_proxy=git.code.xxx.com,localhost,192.168.59.103

shugenniu@shugenniu-PC0 MINGW64 /d
$ export DOCKER_HOST=tcp://192.168.59.103:2376

shugenniu@shugenniu-PC0 MINGW64 /d
$ export DOCKER_CERT_PATH='C:\Users\shugenniu\.boot2docker\certs\boot2docker-vm'

上面的命令执行完后,不用再重启docker容器了,因为上一步的boot2docker start已经帮我们把docker容器启动了,我们直接使用boot2docker来启动就好了~~

shugenniu@shugenniu-PC0 MINGW64 /d
$ boot2docker ssh
                        ##         .
                  ## ## ##        ==
               ## ## ## ## ##    ===
           /"""""""""""""""""\___/ ===
      ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
           \______ o           __/
             \    \         __/
              \____\_______/
 _                 _   ____     _            _
| |__   ___   ___ | |_|___ \ __| | ___   ___| | _____ _ __
| '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__|
| |_) | (_) | (_) | |_ / __/ (_| | (_) | (__|   <  __/ |
|_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_|
Boot2Docker version 1.8.0, build master : 7f12e95 - Tue Aug 11 17:55:16 UTC 2015
Docker version 1.8.0, build 0d03096
docker@boot2docker:~$ ls

确定我是可以启动的呢

启动好之后,可以使用

docker pull ubuntu

命令来拉去一个ubuntu的镜像
如果代理设置的没有问题,下载速度会很快的,大概30s秒可以把ubuntu的镜像拉下来。
由于,我之前把控制台的输出clear掉了,所以,这里先不放pull的操作截图了。

查看当前有哪些镜像

使用docker images命令来查看当前有哪些镜像。
话说,应该看到了boot2docker是在我们的windows机器上使用的命令,docker是在docker容器中使用的命令了吧,别混淆了。

docker@boot2docker:~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ubuntu              latest              8ff7706743d2        2 weeks ago         119.5 MB
docker@boot2docker:~$

一般的文章都是演示hello-world的镜像,我们不走那个路~直接使用ubuntu好不啦~

启动ubuntu示例

使用

docker run -it ubuntu(你的镜像的ID) /bin/bash

来启动并登陆到docker镜像内,你就不要问我如何获取root权限或者root密码是啥的问题了~~~~

docker@boot2docker:~$ docker run -it --rm --name='hello' ubuntu /bin/bash
root@a9ed552cf85e:/# ls
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr

验证我是进入到ubuntu中的了喔

啥啥啥,好多命令没有

我想看看自己能不能连接到外网,然后就有了下面一系列的奇葩操作,相信你也会遇到这样的问题吧

root@a9ed552cf85e:/# ping www.github.com
bash: ping: command not found
root@a9ed552cf85e:/# ifconfig
bash: ifconfig: command not found
root@a9ed552cf85e:/# sudo apt-get update
bash: sudo: command not found

多奇葩的问题,其实是自己奇葩~~~

然后,我就想更新一下系统咯,那就apt-get update一下吧,然后还是我累个大草

root@a9ed552cf85e:~# apt-get update
0% [Connecting to archive.ubuntu.com (91.189.88.161)] [Connecting to security.ubuntu.com (91.189.88.162)]^C
root@a9ed552cf85e:~# vim ~/.bashrc
bash: vim: command not found
root@a9ed552cf85e:~# vi ~/.bashrc
bash: vi: command not found
root@a9ed552cf85e:~#
root@a9ed552cf85e:~# whoami
root

vim用不了就算了,连vi都用不了,这要我如何是好

那猜想一个,还是我们没有配置代理的原因吧~~~
那就设置代理呗

export http_proxy=http://dev-proxy.xxx.com:8080

正确输入,回车执行

root@a9ed552cf85e:~# export http_proxy=http://dev-proxy.xxx.com:8080
root@a9ed552cf85e:~# apt-get update

可以访问网络了呢
可以看到我们已经连接上了ubuntu的官方的镜像咯

开始安装软件吧

来,你给我安装一个vim来演示一下~~~
好的,你看好了哈

vim安装成功,要不要验证一下~~~

看到上面的执行过程,貌似已经安装好了呢。

验证安装的结果

你快给我验证一下啊
哦哦,那我执行一下vim –help咯,
看吧,安装成功

进阶

直接附上一个gitbook的链接吧,这里有你进阶需要的一切的东西
https://yeasy.gitbooks.io/docker_practice/content/container/enter.html

拉取镜像

刚才没有演示我是如何把ubuntu镜像拉取下来的,那拉一个redis镜像好咯

拉取之前,先自证清白

docker@boot2docker:~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ubuntu              latest              8ff7706743d2        2 weeks ago         119.5 MB

可以看到这里现在就只有一个镜像

开始拉取吧

刚开始的截图

拉取过程相对快~感谢腾讯8K的网络支持~

下载完成

查看现在的镜像

已经有两个咯

展开阅读全文

没有更多推荐了,返回首页