1.安装



下载DockerToolbox,并安装。


下载地址:https://dn-dao-github-irror.daocloud.io/docker/toolbox/releases/download/v17.06.2-ce/DockerToolbox-17.06.2-ce.exe。



安装过程全部选择默认即可。



2.开始



双击“Docker Quickstart Terminal”,出现下图:


k3s docker 版本 k2 docker_docker 安装



图中说的意思是,没有找到默认的Boot2Docker ISO文件,正在下载最新的发布包。但实际上,这个文件是在我们的安装路径已经有了。并且从github.com下载在国内几乎是不可能的!



找到刚才的安装路径,复制boot2docker.iso文件到C:\Users\jackie.docker\machine\cache目录下,关掉docker终端,重新打开。


如下图:说明docker启动成功。至此,Windows7上的docker安装完成。


k3s docker 版本 k2 docker_docker_02



如果你看见一只船,那么恭喜你,docker安装成功。


3.安装私有证书(如果不是私有项目,可以不需要)



如果你要访问私有的仓库,比如公司自己的内部仓库,那么你需要安装证书,否则你将不能登录公司的私有仓库,否则登录验证将无法通过。



安装证书的步骤如下:



1、首先,下载你们公司自己分发的证书。如 docker-registry-ca.crt。



2、通过ssh登录docker的虚拟机。将下载的证书放置在



/etc/docker/certs.d/{私有仓库IP}/



下面。


k3s docker 版本 k2 docker_window7_03



4.登录拉取镜像

#登录命令
#docker login -u username {ServerIp}
#如
docker login -u wang 192.168.80.147


k3s docker 版本 k2 docker_docker_04


登录成功之后,你便可以从服务器拉取镜像。



拉取镜像命令


docker pull {镜像名称}

5.查看镜像



docker images



6.新建docker-composer.yml 文件



在一个合适的位置,如 D:\\Docker\testImage下新建一个docker-composer.yml



#docker-composer.yml


# port 表示端口的映射。前面表示本机端口,后面是docker镜像中的端口


# volumes 表示路径的映射。前面是本地路径,后面是dokcer镜像中的路径


lb:
    image: dockercloud/haproxy
    ports:
      - 80:80
    links:
      - web
    networks:
      - front-tier
      - back-tier
    volumes:
      - E:\phpStudy\WWW\my\rongDa:/var/run/

8.启动镜像



进入 D:\\Docker\testImage中,执行docker-composer.exe up -d ,



将会执行docker-composer.yml 并且启动镜像。



启动镜像很快,基本不需要等待。


9.验证镜像正确性



在浏览器输入 127.0.0.1:80 看是否能访问到你自己的项目。


然后你就会崩溃的发现,不能访问。


这是我们项目内部自己踩过的坑,由于很多人使用mac,他们并没有这样的坑,但是在win下就是有这样的坑。


10.设置端口转发

k3s docker 版本 k2 docker_composer_05

这样你就能通过端口访问到docker虚拟机中的端口了。



但是,问题又来了。本地项目文件夹并没有映射到docker的文件夹中去,简直是太崩溃了。


11.设置共享目录



搜索许多资料,(百度真是难用),找啊找,终于看到了解决希望。


k3s docker 版本 k2 docker_docker 安装_06

关闭整个docker,重新打开 Docker Quickstart Terminal 命令行。



# 执行一下命令进入虚拟机查看
docker-machine.exe ssh
#查看映射
mount


k3s docker 版本 k2 docker_k3s docker 版本_07


终于看到本地代码www映射到虚拟机的某一个路径WWW,可以看到WWW的中代码文件夹。



假设我们的代码目录问/WWW/testDir



那么,修改 docker-composer.yml如下



#docker-composer.yml


# port 表示端口的映射。前面表示本机端口,后面是docker镜像中的端口


# volumes 表示路径的映射。前面是本地路径,后面是dokcer镜像中的路径


lb:
    image: dockercloud/haproxy
    ports:
      - 80:80
    links:
      - web
    networks:
      - front-tier
      - back-tier
    volumes:
      - /WWW/testDir:/var/run/



这下终于可以了。



一个docker环境配置搞了大半天,赶紧记录分享一下,希望后来者不要继续踩坑。