本文参考自 http://www.cnblogs.com/VAllen/p/Docker-for-windows-on-VMware.html
1. 安装 docker for windows 我是使用 docker for windows 的 msi 文件安装的,如果是使用 DockerToolbox.exe 安装请看上方参考文本。
安装过程十分简单,这里不赘述。
2. 下载 VMware Workstation 驱动支持 下载最新的 docker-machine-vmwareworkstation
将下载下来的 docker-machine-driver-vmwareworkstation.exe 放到 C:\Program Files\Docker\Docker\resources\bin
3. 新建 machine 打开 Xshell,Xshell 自带 windows 终端模拟功能。
运行 docker-machine ls
1 2 3 PS C:\Users\nero> docker-machine.exe ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS default * vmwareworkstation Running tcp://192.168.140.129:2376 v17.09.1-ce
默认应该什么都没有,我这里已经部署好所以会出现 default。
可以执行 docker-machine stop default && docker-machine rm default 来结束并删除这个 machine。
创建支持 vmware 的 machine docker-machine create --driver=vmwareworkstation default
启用 docker-machine active default
4. 修改 Docker 源为国内源 在 Xshell 下执行 docker-machine.exe ssh default
这时候会链入一个 Linux 的虚拟机里,其实这个就是 Docker 的虚拟机咯。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [c:\~]$ docker-machine.exe ssh default ## . ## ## ## == ## ## ## ## ## === /"""""""""""""""""\___/ === ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~ \______ o __/ \ \ __/ \____\_______/ _ _ ____ _ _ | |__ ___ ___ | |_|___ \ __| | ___ ___| | _____ _ __ | '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__| | |_) | (_) | (_) | |_ / __/ (_| | (_) | (__| < __/ | |_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_| Boot2Docker version 17.09.1-ce, build HEAD : e7de9ae - Fri Dec 8 19:41:36 UTC 2017 Docker version 17.09.1-ce, build 19e2cf6 docker@default:~$
接下来修改配置文件 sudo vi /var/lib/boot2docker/profile
在--label provider=vmwareworkstation
的下一行添加 --registry-mirror https://registry.docker-cn.com
1 2 3 4 5 6 7 8 9 10 11 12 13 14 EXTRA_ARGS=' --label provider=vmwareworkstation --registry-mirror https://registry.docker-cn.com ' CACERT=/var/lib/boot2docker/ca.pem DOCKER_HOST='-H tcp://0.0.0.0:2376' DOCKER_STORAGE=aufs DOCKER_TLS=auto SERVERKEY=/var/lib/boot2docker/server-key.pem SERVERCERT=/var/lib/boot2docker/server.pem
保存后运行退出 ssh
运行 docker-machine restart
5. powershell 启用后端 创建 powershell 启动运行脚本
1 2 New-item –type file –force $profile Notepad $profile
打开记事本之后输入
1 & docker-machine.exe env default | Invoke-Expression
保存退出。
关闭 powershell 再次运行的时候会遇到 在此系统中禁止执行脚本解决方法
,这时候以管理员身份运行 Powershell 输入以下命令。
1 2 3 4 5 set-executionpolicy remotesigned 执行策略更改 执行策略可帮助你防止执行不信任的脚本。更改执行策略可能会产生安全风险,如 http://go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies 帮助主题所述。是否要更改执行策略? [Y] 是(Y) [A] 全是(A) [N] 否(N) [L] 全否(L) [S] 暂停(S) [?] 帮助 (默认值为“N”): y
以上禁止执行脚本解决方法参考自 PowerShell在此系统中禁止执行脚本解决方法
再次运行 powershell ,再运行 docker info
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 PS C:\Users\nero> docker info Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0 Server Version: 17.09.1-ce Storage Driver: aufs Root Dir: /mnt/sda1/var/lib/docker/aufs Backing Filesystem: extfs Dirs: 0 Dirperm1 Supported: true Logging Driver: json-file Cgroup Driver: cgroupfs Plugins: Volume: local Network: bridge host macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog Swarm: inactive Runtimes: runc Default Runtime: runc Init Binary: docker-init containerd version: 06b9cb35161009dcb7123345749fef02f7cea8e0 runc version: 3f2f8b84a77f73d38244dd690525642a72156c64 init version: 949e6fa Security Options: seccomp Profile: default Kernel Version: 4.4.104-boot2docker Operating System: Boot2Docker 17.09.1-ce (TCL 7.2); HEAD : e7de9ae - Fri Dec 8 19:41:36 UTC 2017 OSType: linux Architecture: x86_64 CPUs: 1 Total Memory: 995.7MiB Name: default ID: GDCJ:VXO6:STS3:IGS5:YU2P:ALGO:L22U:4RV7:62ON:O3F2:X53E:MPBC Docker Root Dir: /mnt/sda1/var/lib/docker Debug Mode (client): false Debug Mode (server): true File Descriptors: 17 Goroutines: 27 System Time: 2017-12-23T07:51:27.84521085Z EventsListeners: 0 Registry: https://index.docker.io/v1/ Labels: provider=vmwareworkstation Experimental: false Insecure Registries: 127.0.0.0/8 Registry Mirrors: https://registry.docker-cn.com/ Live Restore Enabled: false
终于可以在 Windows 下愉快的玩耍 Docker 了。
6. 任务管理器中禁用默认的 Docker for Windows 启动