1. 程式人生 > >[基礎]Mac OS下使用Docker

[基礎]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/