這些年對 Ops 產生重大影響的工具應屬 Docker 了。Docker 基于 Golang 的實現橫空出世,讓應用部署產生了革命性的變革。Docker 的存在讓部署變得如此的容易,這也讓 Microservices 這種架構方式得到了良好的實施。
關于 Docker, 它解決了三個問題:
- Build
- Ship
- Run
本文講討論邁入 Docker 世界的第一步:如何將 Docker 裝在你的Mac OS上
在 Mac OS 上安裝 Docker
由于 Docker 底層基于 Linux,在 Mac OS 上運行起來需要一個虛擬的 Linux 環境,它需要若干工具支持:
- VirtualBox:虛擬機,用來跑 Linux
- docker-machine:用來管理虛擬機,之前用過的 boot2docker 已經合并到這個工具中
- docker:Docker 本身
- docker-compose(Mac OS only):用來管理多個 docker container。如果你想做DB和App分離將會用到這個工具
- Kitematic:用來管理遠程 Docker Hub,自己構建的 Docker Image 可以用它管理
如果你想直接 All in One 安裝,直接到這里下載安裝即可安裝好上述工具:
https://www.docker.com/toolbox
個人傾向使用 Homebrew 安裝上述工具:
- 安裝 Virtual Box
- 使用 homebrew 安裝其他工具
brew install docker docker-machine docker-compose
brew cask install kitematic
驗證自己的環境
使用 docker-machine
創建 docker host
docker-machine create --driver virtualbox dev
dev
是當前 docker host
名字
配置當前docker host環境
使用 docker-machine env dev
查看剛剛創建的 dev
的信息:
? devops docker-machine env dev
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/Users/lvjian/.docker/machine/machines/dev"
export DOCKER_MACHINE_NAME="dev"
# Run this command to configure your shell:
# eval "$(docker-machine env dev)"
將 dev
信息添加到環境變量中,這些環境變量將被 docker
使用。
eval "$(docker-machine env dev)"
運行docker run
docker run helloworld
此時 docker
會從 Docker Hub
上將 hello-world:last
image pull 下來,然后運行對應的Dockerfile
。如果運行成功將會看到如下信息:
Hello from Docker.
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker Hub account:
https://hub.docker.com
For more examples and ideas, visit:
https://docs.docker.com/userguide/
除此之外我們還可以運行其他 image:docker run -it ubuntu bash
到這里已經成功在 Mac OS 上安裝了 docker.
更多參考
- Install Docker:http://docs.docker.com/mac/step_one/
- Docker Hub:https://hub.docker.com
- Docker User Guide:https://docs.docker.com/userguide/