安裝
boot2docker是將docker daemon運(yùn)行在虛擬機(jī)中的,所以系統(tǒng)中必須要有虛擬機(jī)環(huán)境:VMware、virtualbox、parallels都可以,必須要有,且使用的工具包有所不同。
本人習(xí)慣于使用parallels desktop,機(jī)子上本來(lái)裝著就有,所以?xún)?yōu)先選擇parallels環(huán)境。
使用parallels環(huán)境可以不用安裝boot2docker,直接安裝docker-machine-parallels即可。
項(xiàng)目地址:https://github.com/Parallels/docker-machine-parallels
使用Homebrew先查看下都有哪些軟件:
selflydeMacBook-Pro:~ liyd$ brew search docker
這里我們只需要安裝兩個(gè)軟件包:docker和docker-machine-parallels,其中docker-machine會(huì)成為docker-machine-parallels的依賴(lài)而自動(dòng)進(jìn)行安裝。
可以看到上面這三個(gè)軟件包后面都有個(gè)勾,因?yàn)槲冶緳C(jī)已經(jīng)安裝過(guò)了。
selflydeMacBook-Pro:~ liyd$ brew install docker-machine-parallels
selflydeMacBook-Pro:~ liyd$ brew install docker
創(chuàng)建虛擬機(jī)
只需要一個(gè)命令,
selflydeMacBook-Pro:~ liyd$ docker-machine create --driver=parallels prl-dev
當(dāng)然還有一些其它的參數(shù),具體可以看項(xiàng)目主頁(yè)上的說(shuō)明。
第一次創(chuàng)建會(huì)比較慢,因?yàn)橐螺dboot2docker.iso。
如果提示下載失敗,可以自行到github上去下載后,放到~/.docker/machine/cache目錄下。
使用
創(chuàng)建虛擬機(jī)后,會(huì)提示你使用docker-machine env命令,然后再用eval命令:
selflydeMacBook-Pro:~ liyd$ docker-machine env prl-dev
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://10.211.55.11:2376"
export DOCKER_CERT_PATH="/Users/liyd/.docker/machine/machines/prl-dev"
export DOCKER_MACHINE_NAME="prl-dev"
# Run this command to configure your shell:
# eval $(docker-machine env prl-dev)
selflydeMacBook-Pro:~ liyd$ eval $(docker-machine env prl-dev)
至此,就可以像平常使用docker一樣來(lái)自由發(fā)揮了!
容器端口跳轉(zhuǎn)
最新版的boot2docker建立了一個(gè)僅有網(wǎng)絡(luò)適配器的主機(jī)提供可以接入容器的端口。
如果你運(yùn)行一個(gè)有公開(kāi)端口的容器,
$ docker run --rm -i -t -p 80:80 nginx
然后你應(yīng)該能用IP地址接入Nginx服務(wù)器:
$ boot2docker ip
通常,這個(gè)IP地址為192.168.59.103,但是也可能被VirtualBox啟用的DHCP修改。
其他
如果你好奇的話(huà),Boot2Docker的缺省用戶(hù)名為docker,密碼為tcuser。
Boot2Docker管理工具提供了很多命令:
$ ./boot2dockerUsage: ./boot2docker [options>]{help|init|up|ssh|save|down|poweroff|reset|restart|config|status|info|ip|delete|download|version} [args>]
docker-machine還有一些其它非常有用的命令,可以自行在命令行查看:
active Print which machine is active
config Print the connection config for machine
create Create a machine
env Display the commands to set up the environment for the Docker client
inspect Inspect information about a machine
ip Get the IP address of a machine
kill Kill a machine
ls List machines
provision Re-provision existing machines
regenerate-certs Regenerate TLS Certificates for a machine
restart Restart a machine
rm Remove a machine
ssh Log into or run a command on a machine with SSH.
scp Copy files between machines
start Start a machine
status Get the status of a machine
stop Stop a machine
upgrade Upgrade a machine to the latest version of Docker
url Get the URL of a machine
version Show the Docker Machine version or a machine docker version
help Shows a list of commands or help for one command