Docker的安装使用

一、简介

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

Docker通常用于如下场景:

  • web应用的自动化打包和发布;
  • 自动化测试和持续集成、发布;
  • 在服务型环境中部署和调整数据库或其他的后台应用;
  • 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。

二、安装

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

  1. 下载 Boot2Docker
    https://github.com/boot2docker/osx-installer/releases
    下载最新版本的.pkg

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

  3. 配置启动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/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值