软件DockerToolbox-19.03.1.exe下载:https://github.com/docker/toolbox/releases linux
国内:https://get.daocloud.io/toolbox/git
最新版boot2docker.iso:https://github.com/boot2docker/boot2docker/releasesgithub
已经安装virtualBox和git则勾选掉docker
安装完,将boot2docker.iso复制到C:\Users\用户名\.docker\machine\cacheshell
选择图标,启动DockerToolboxbash
第一次运行Docker Quickstart Terminal时会进行Docker环境的初始化,会在VirtualBox中自动建立名字为【default】的linux虚拟机,再此过程当中会用到boot2docker.iso镜像文件。默认状况下,启动程序会从GitHub上下载此文件的最新版,但因为文件相对较大且速度不给力,多数状况下会下载失败,形成Docker环境没法启动,以下图:网络
解决方法:ssh
其实DockerToolbox安装文件自带了boot2docker.iso镜像文件,位于安装目录下(如C:\Program Files\Docker Toolbox) ,将此文件拷至C:\Users\Administrator\.docker\machine\cache目录下,而后在网络断开的状况下从新启动,即可初始化成功。以下图:curl
其中 【192.168.99.100】是VirtualBox中名字为【default】虚拟机的ip地址。ui
Docker Quickstart Terminal使用起来不方便,可使用XShell进行SSH登陆Docker环境(其实就是远程访问default linux虚拟机)。
经过在PowerShell或cmd终端中执行【docker-machine ls】命令,能够看到虚拟机的地址,本机是192.168.99.100。
default虚拟机的默认用户名和密码
用户名:docker
密码: tcuser
登陆成功后的界面
ssh docker@192.168.99.101 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镜像文件会不断增长,为了给系统盘减负,最好将磁盘移动到其余位置。
须要注意虚拟磁盘类型的选择
修改配置文件:
一、进入shell界面:
ssh docker@192.168.99.101 tcuser sudo vi /var/lib/boot2docker/profile
或者
docker-machine ssh default
二、修改编辑 /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
6、搭建私库:
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