Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
接下来我们来介绍一下关于Docker环境的安装和配置。因为我用的是Mac环境,所以这一篇文章主要讲的是Mac环境下Docker的安装和配置。对于Windows环境和Linux环境的安装配置,将在后续文章中介绍。不管是对于Mac、Windows或者Linux的安装都需要了解Docker的运行要求。由于Docker引擎是使用了特定于Linux内核的特性,所以需要安装一个轻量级的虚拟机(如VirtualBox)来在Mac或者Windows上运行,原理是让Docker运行在虚拟机中,然后宿主机上运行Docker的Client。对于虚拟机,VM或者VirtualBox都可以,这里我们是用VirtualBox,主要是因为这个是免费的,而且轻量。对于Linux就简单多了,只需要更新内核到指定版本就可以了。
那我们就来说一下Mac下如何搭建环境吧。
1、下载boot2docker。
官方下载地址是:https://github.com/boot2docker/osx-installer/releases/tag/v1.8.0
不过对于国内环境来说的话,下载速度特别慢。所以我这里提供一份我下载下来的供大家使用。
百度网盘地址:https://pan.baidu.com/s/1jHEgu7G,密码:bmd4
装好之后,主机上应该会出现“boot2docker”和“Virtual Box”。
2、安装完了之后,我们开始初始化Docker环境。
只需要执行命令:
(1)boot2docker init
从日志可以看出,初始化的过程是下载一个boot2docer.iso,然后会用ssh生成用于docker的ssh的公钥和私钥对,用于远程。
shengli-mac$ boot2docker init
Latest release for boot2docker/boot2docker is v1.3.2
Downloading boot2docker ISO image…
Success: downloaded https://github.com/boot2docker/boot2docker/releases/download/v1.3.2/boot2docker.iso
to /Users/shengli/.boot2docker/boot2docker.iso
Generating public/private rsa key pair.
Your identification has been saved in /Users/shengli/.ssh/id_boot2docker.
Your public key has been saved in /Users/shengli/.ssh/id_boot2docker.pub.
The key fingerprint is:
ff:7a:53:95:e6:44:27:70:e1:ac:0a:b5:02:35:72:29 shengli@192.168.2.101
The key’s randomart image is:
+–[ RSA 2048]—-+| . +. ..o. |
| E+.. +…|
| .. . +.o|
| . . . . +.|
| S . . +. |
| + . .. |
| o . |
| .o |
| .o.. |
+—————–+
(2)boot2docker start
harry-mac$ boot2docker start
Waiting for VM and Docker daemon to start…
…………………..ooooooooooooooooooo
Started.
Writing /Users/harry/.boot2docker/certs/boot2docker-vm/ca.pem
Writing /Users/harry/.boot2docker/certs/boot2docker-vm/cert.pem
Writing /Users/harry/.boot2docker/certs/boot2docker-vm/key.pem
To connect the Docker client to the Docker daemon, please set:
export DOCKER_HOST=tcp://192.168.59.103:2376
export DOCKER_CERT_PATH=/Users/harry/.boot2docker/certs/boot2docker-vm
export DOCKER_TLS_VERIFY=1
这里HOST为192.168.59.103,这个就是以后要访问的虚拟机的地址。
然后Docker的环境的大功告成了。
不过有些人在执行init命令的时候可能会出现一些报错信息,比如:
error in run: Failed to download ISO image: Get https://github.com/boot2docker/boot2docker/releases/download/v1.10.3/boot2docker.iso: net/http: TLS handshake timeout
其实这还是因为网络问题,下载boot2docker.iso镜像失败了。如果下载失败的话,不妨使用的我的百度云盘资源。
百度云盘地址:https://pan.baidu.com/s/1pKQNyyv,密码:wp5a
将boot2docker.iso拷贝到”~/.boot2docker”目录下面,然后用boot2docker init就不会报错了。
3、最后补充点。
boot2docker是将docker daemon是运行在虚拟机中的,所以系统环境中必须要有虚拟机环境:VM、virtualbox、parallels都可以,但是必须有。
4、进入Docker环境。
如果想进入到虚拟机的控制台,可以使用boot2docker ssh命令
harrydeMacBook-Pro:~ harry$ boot2docker ssh
## .
## ## ## ==
## ## ## ## ## ===
/”"”"”"”"”"”"”"”"”\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\_______/
_ _ ____ _ _
| |__ ___ ___ | |_|___ \ __| | ___ ___| | _____ _ __
| ‘_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ ‘__|
| |_) | (_) | (_) | |_ / __/ (_| | (_) | (__| < __/ |
|_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_|
Boot2Docker version 1.8.0, build master : 7f12e95 – Tue Aug 11 17:55:16 UTC 2015
Docker version 1.8.0, build 0d03096
这个时候我们不妨到我们的VirtualBox虚拟机里面去看一下,会出现一个虚拟机的。
这样我们的Docker就已经安装配置完成了。
5、接下来我们了解一下boot2docker的常用命令。
(1)boot2docker init 初始化命令,一般只需要运行一次;
(2)boot2docker start 启动docker环境虚拟机;
(3)boot2docker halt 关闭docker环境虚拟机;
(4)boot2docker ip 如果我们不知道docker环境虚拟机的IP地址,可以通过这个命令查看;
(5)boot2docker status 查看当前docker环境虚拟机的状态,是开启的还是关闭的;
(6)boot2Docker ssh 进入docker环境虚拟机;
6、环境准备工作都已经OK了,接下来我们就要开始把docker用起来了,不过之前还有一些准备工作需要。
(1)使用git
这个在之前的一篇文章中已经介绍过了,这个工具主要用于拉取docker镜像和上传docker镜像的。
(2)使用docker的已有镜像(Docker Hub)
Docker Hub是一个由Docker公司负责维护的公共注册中心,它包含了超过15,000个可用来下载和构建容器的镜像,并且还提供认证、工作组结构、工作流工具(比如webhooks)、构建触发器以及私有工具(比如私有仓库可用于存储你并不想公开分享的镜像)。
不过我这边也分享一批GitHub的docker,都是已经搭建好的各种环境的镜像。
GitHub地址:https://github.com/superproxy/mycloud,里面有很多常见的环境。
资源我已经下载下来的,不过还没有共享到百度云盘里面,如果有需要的可以联系我。
(3)docker的命令
对于docker的命令,大家可以先通过docker –help看一下,也可以百度搜一下,资料有很多,我这边就不赘述了。
后面具体介绍Docker使用和实例的时候再针对每个命令描述详细的使用说明。