由於我用的是Mac,因此這裏只介紹Mac下Docker的安裝。docker
Mac下Docker有兩種安裝方式:Docker for Mac和Docker Toolbox。spa
到官網下載、安裝,這個也不用說了吧。。。(一直點繼續就好啦)我以前裝過版本1.11.1。code
到官網下載、安裝,這個不用說了吧。。。(拖到一下就好啦)我目前用的版本是1.12.0-beta22,該版本已具備swarm模式。ip
Docker for Mac在菜單欄有這個很是可愛的圖標: rem
Docker for Mac和Docker Toolbox都有:docker
、docker-compose
、docker-machine
(一開始我只學了docker
,後來發現後面兩個命令也很好玩)get
Docker for Mac和Docker Toolbox有些相似:須要一個虛擬機->在虛擬機裏面安裝Linux->在Linux裏安裝Docker
。虛擬機
Docker for Mac用的是HyperKit(Mac下的一個輕量級的虛擬化技術);Dokcer Toolbox用的是VirtualBox。it
Docker Toolbox的安裝包帶有VirtualBox,默認會建立一個名爲default的虛擬機。而Dokcer for Mac找不到它安裝的虛擬機。PS: 建議安裝VirtualBox,這樣在使用docker-machine的時候比較方便。docker-compose
我以前安裝了Docker Toolbox,而後沒卸載就直接安裝Docker for Mac。Docker for Mac在第一次啓動的時候會提示是否要拷貝Docker Toolbox的default虛擬機裏面的鏡像到Docker for Mac的虛擬機裏,這樣之前下載的鏡像就不須要再下一遍了。class
新安裝的Docker for Mac會把以前Docker Toolbox安裝的docker
、docker-compose
、docker-machine
覆蓋掉(實際上是更名,加了.back),docker
執行時用的是新版本的docker
。
Docker Toolbox的docker
會經過VirtualBox建立的網卡vboxnet0
鏈接到default虛擬機,而Docker for Mac的docker
會經過/var/run/docker.sock
鏈接到Docker for Mac的虛擬機。
若是想要讓Docker for Mac的docker
去訪問Docker Toolbox安裝的default虛擬機,執行eval $(docker-machine env)
,而後docker
就會連上default虛擬機。回到Docker for Mac的虛擬機,執行eval $(docker-machine env --unset)
。
若是報錯,多是default虛擬機關閉了,執行
docker-machine ls
查看虛擬機狀態,執行docker-machine start
啓動default虛擬機。Docker for Mac的
docker
鏈接到Docker Toolbox的虛擬機頗有可能會報虛擬機的版本和客戶端docker
的版本對不上,這時候能夠執行docker-machine upgrade
升級一下default虛擬機裏面的docker。
https://docs.docker.com/docke... (官方Docker for Mac和Docker Toolbox的比較,能夠了解Mac下Docker運行的原理
)