您的位置:首页 > 运维架构 > Docker

Docker的安装使用

2016-01-07 16:44 579 查看

一、简介

Docker是一个开源的基于 LXC(Linux Container) 的高级容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器,能提供虚机化,从而达到隔离应用,可移植到任意安装有Docker的机器上运行,开发者编译测试通过的容器可以批量地在生产环境中部署。

Docker通常用于如下场景:

web应用的自动化打包和发布;

自动化测试和持续集成、发布;

在服务型环境中部署和调整数据库或其他的后台应用;

从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。

二、安装

安装以Mac OS X为例。由于Docker引擎是使用了特定于Linux内核的特性,所以需要安装一个轻量级的虚拟机(如VirtualBox)来在OSX上运行。但我们不需要自己的下载安装VirtualBox,我们只需要下载官方提供的Boot2Docker来运行Docker守护进程。

下载 Boot2Docker

https://github.com/boot2docker/osx-installer/releases

下载最新版本的.pkg

安装 Boot2Docker

双击打开.pkg包后按照安装向导完成安装即可。安装完成后,可以看到Applications里多了两个应用。



配置启动Docker

初始化boot2docker:

$ boot2docker init


这一步会用ssh工具生成用于docker的ssh的公钥和私钥。这一步还会需要下载一个boot2docker的iso文件。

Downloading boot2docker ISO image...


如果和我一样在终端看了这句话很久都没有什么反应,可以去https://github.com/boot2docker/boot2docker/releases 下载最新的boot2docker.iso文件到 ~/.boot2docker 路径下,再init一次即可。

然后启动boot2docker:

$ boot2docker start

Started.
Writing /Users/czb/.boot2docker/certs/boot2docker-vm/ca.pem
Writing /Users/czb/.boot2docker/certs/boot2docker-vm/cert.pem
Writing /Users/czb/.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/czb/.boot2docker/certs/boot2docker-vm
export DOCKER_TLS_VERIFY=1

Or run: `eval "$(boot2docker shellinit)"`


启动完成后,boot2docker提醒你要配置docker的访问环境,你可以自己去添加环境变量,也可以运行boot2docker提供的命令去帮你配置好。其中DOCKER_HOST就是之后访问虚拟机的地址。

想进入docker的控制台只需要执行boot2docker的ssh:

$ boot2docker ssh
##         .
## ## ##        ==
## ## ## ## ##    ===
/"""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
\______ o           __/
\    \         __/
\____\_______/
_                 _   ____     _            _
| |__   ___   ___ | |_|___ \ __| | ___   ___| |_____ _ __
| '_ \ / _ \ / _ | __| __) / _` |/ _ \ / __| |/ / _ \ '__|
| |_) | (_) | (_) | |_ / __/ (_| | (_) | (__|   <  __/ |
|_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_|
Boot2Docker version 1.9.1, build master : cef800b - Fri Nov 20 19:33:59 UTC 2015
Docker version 1.9.1, build a34a1d5


三、运行第一个docker程序

了解docker的使用可以运行一下帮助命令:

$ docker -h


要运行docker程序,可以用docker的run命令。

如运行一个叫 “hello-world” 的程序:

$ docker run hello-world


首先docker会在本地查找是否有这个程序的镜像,而这当然是不会有的,因为我们才刚装好docker。然后docker就会从远程Docker registry server查找并下载该程序的最新镜像。

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
b901d36b6f2f: Verifying Checksum
0a6ba66e537a: Pulling fs layer
Pulling repository docker.io/library/hello-world
975b84d108f1: Download complete
3f12c794407e: Download complete
Status: Downloaded newer image for hello-world:latest


然后下载完成后我们就可以看到这个程序的最终运行输出的结果:

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/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  docker