[基礎]Mac OS下使用Docker
背景:Docker引擎能夠執行在Linux核心上,但是不能直接執行在Mac OS上。那麼如何在Mac OS上使用Docker呢?解決方案時候使用輕量級的VM,在VM上使用Docker。
目的:在docker中執行web程式
步驟:
1、下載Docker for OS X Installer並進行安裝;
2、虛擬機器的啟動與初始化;
boot2docker init
boot2docker start
export DOCKER_HOST=tcp://$(boot2docker ip 2>/dev/null):2375
3、docker version檢視Docker的資訊;
如果docker version時出現timeout的問題,修改DOCKER_HOST後問題解決。
注意:export DOCKER_HOST=tcp://127.0.0.1:2375
4、使用docker來列印Hello World;docker search tutorial
docker pull learn/tutorial
docker run learn/tutorial echo "hello world"
learn/tutorial為一個映象。
5、登入映象的bash
docker run -i -t learn/tutorial /bin/bash
6、在映象中安裝apache
apt-get update
apt-get install apache2 curl
apachectl start
curl http://localhost
儲存映象:
首先MAC OS中另外開啟一個Terminal檢視此執行映象的container id,docker ps檢視進項id,如7162451b3fef,
再使用如下命令儲存映象:
docker commit 716 learn/tutorial
7、使得Mac OS能夠訪問Docker中的WEB伺服器。(埠對映)
boot2docker ssh -L 50080:localhost:40080 //登入VM,並將Mac Os埠與VM埠進行對映 docker run -i -t -p 40080:80 learn/tutorial //登入Docker映象,將VM埠與Docker映象中埠對映 apachectl start
此時在Mac OS中使用http://localhost:50080/就可以訪問Docker映象中的WEB伺服器了。
The -t flag assigns a pseudo-tty or terminal inside our new container and the -i flag allows us to make an interactive connection by grabbing the standard in (STDIN) of the container.
the -d flag which tells Docker to run the container in the background. The -P flag is new and tells Docker to map any required network ports inside our container to our host.
參考:http://docs.docker.com/installation/mac/