軟件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