使用Chef

说明:请注意这是社区提供的的安装方式。官方的方式请阅读Ubuntu环境下安装Docker。这个版本可能已经过时了。

先决条件

你需要了解Chef的安装说明。cookbook支持一个系列的操作系统的安装。

安装

Chef Community Site的cookbook长期有效,可以使用你喜欢cookbook的依赖管理器来安装。

其源代码可以在Github上可以看到。

 用法

cookbook 提供安装Docker的recipes,配置并初始化Docker,管理镜像和容器等资源。它支持所有docker的功能。

安装

  1. include_recipe 'docker'

 镜像

接下来的步骤就是pull一个镜像。就想这样:

  1. docker_image 'samalba/docker-registry'

这等价于运行:

  1. $ sudo docker pull samalba/docker-registry

有属性可以有效的控制cookbook的下载时间(默认情况下是5分钟)。

为了移除你不在需要的镜像:

  1. docker_image 'samalba/docker-registry' do
  2. action :remove
  3. end

容器

现在,你有一个镜像,通过该镜像你可以通过Docker在一个容器中运行命令。

  1. docker_container 'samalba/docker-registry' do
  2. detach true
  3. port '5000:5000'
  4. env 'SETTINGS_FLAVOR=local'
  5. volume '/mnt/docker:/docker-storage'
  6. end

这等价于运行如下命令:

  1. $ sudo docker run --detach=true --publish='5000:5000' --env='SETTINGS_FLAVOR=local' --volume='/mnt/docker:/docker-storage' samalba/docker-registry

这里的资源接受一个单独的字符串或者数组(当docker的flags有多个的时候)。