一、下载:
软件DockerToolbox-19.03.1.exe下载:https://github.com/docker/toolbox/releases
国内:https://get.daocloud.io/toolbox/
最新版boot2docker.iso:https://github.com/boot2docker/boot2docker/releases
二、安装:
已经安装virtualBox和git则勾选掉
安装完,将boot2docker.iso复制到C:\Users\用户名\.docker\machine\cache
三、使用:
选择图标,启动DockerToolbox
第一次运行Docker Quickstart Terminal时会进行Docker环境的初始化,会在VirtualBox中自动创建名字为【default】的linux虚拟机,再此过程中会用到boot2docker.iso镜像文件。默认情况下,启动程序会从GitHub上下载此文件的最新版,但由于文件相对较大且速度不给力,多数情况下会下载失败,造成Docker环境无法启动,如下图:
解决方法:
其实DockerToolbox安装文件自带了boot2docker.iso镜像文件,位于安装目录下(如C:\Program Files\Docker Toolbox) ,将此文件拷至C:\Users\Administrator\.docker\machine\cache目录下,然后在网络断开的情况下重新启动,便可初始化成功。如下图:
其中 【192.168.99.100】是VirtualBox中名字为【default】虚拟机的ip地址。
利用Xshell登录
Docker Quickstart Terminal使用起来不方便,可以使用XShell进行SSH登录Docker环境(其实就是远程访问default linux虚拟机)。
通过在PowerShell或cmd终端中执行【docker-machine ls】命令,可以看到虚拟机的地址,本机是192.168.99.100。
default虚拟机的默认用户名和密码
用户名:docker
密码: tcuser
登录成功后的界面
ssh [email protected]
tcuser
docker-machine 常用命令
ip Get the IP address of a machine
ls List machines
restart Restart a machine
ssh Log into or run a command on a machine with SSH.
start Start a machine
status Get the status of a machine
stop Stop a machine
url Get the URL of a machine
四、配置:
点击Oracle VM VirtualBox,进入后,有一个default虚拟机
处理器个数根据自己主机情况设置:1-2个
显存根据自己主机设置,有可能则设置为128M
设定一个桥接网卡:
添加一个共享文件夹,存放镜像数据
更改虚拟磁盘存储位置
虚拟机的默认存储位置是C:\Users\Administrator\.docker\machine\machines ,后期docke镜像文件会不断增加,为了给系统盘减负,最好将磁盘移动到其他位置。
- 首先通过PowerShell或cmd终端中执行【docker-machine stop default】命令停止default虚拟机
- 通过VirtualBox【管理】-》【虚拟介质管理】界面对虚拟磁盘进行复制
需要注意虚拟磁盘类型的选择
- 为虚拟机添加新复制的虚拟磁盘,删除之前的dick
- 通过PowerShell或cmd终端中执行【docker-machine start default】命令停止default虚拟机
五、虚拟机内部设定:
修改配置文件:
1、进入shell界面:
ssh [email protected]
tcuser
sudo vi /var/lib/boot2docker/profile
或者
docker-machine ssh default
2、修改编辑 /var/lib/boot2docker/profile
文件中的 EXTRA_ARGS
信息
sudo /etc/init.d/docker stop
docker info |grep "Docker Root Dir"
#### /mnt/sda1/var/lib/docker
sudo mkdir -p /docker_data/var_lib
sudo cp -R /mnt/sda1/var/lib/docker /docker_data/var_lib/
mv /mnt/sda1/var/lib/docker /mnt/sda1/var/lib/docker_bak
sudo cp /var/lib/boot2docker/profile /var/lib/boot2docker/profile.bak
sudo sed -i '4i--insecure-registry=192.168.99.101:5000' /var/lib/boot2docker/profile
sudo sed -i '4i--registry-mirror=https://p31wiatp.mirror.aliyuncs.com/' /var/lib/boot2docker/profile
sudo sed -i '4i--registry-mirror=https://docker.mirrors.ustc.edu.cn/' /var/lib/boot2docker/profile
sudo sed -i '4i--registry-mirror=https://registry.docker-cn.com/' /var/lib/boot2docker/profile
sudo sed -i '4i--registry-mirror=http://hub-mirror.c.163.com/' /var/lib/boot2docker/profile
## 不管用 sudo sed -i '4i-g=/docker_data/var_lib/docker' /var/lib/boot2docker/profile
sudo sed -i '4i--log-opt max-size=100m' /var/lib/boot2docker/profile
sudo /etc/init.d/docker restart
六、搭建私库:
docker pull hello-world
docker tag hello-world 192.168.99.101:5000/hello-world:latest
docker push 192.168.99.101:5000/hello-world:latest
curl http://192.168.99.101:5000/v2/_catalog
curl http://192.168.99.101:5000/v2/hello-world/tags/list