Docker的优势好处自然不必多说,本文主要讨论基于docker这个轻量级的容器部署OpenStack API 的方案。我们知道OpenStack中controller node 需要安装keystone、nova、cinder等api组件,当然我们部署生产环境时,往往会把这些组件分离到单独的物理机上。我们自动化安装时,会在这些物理机上执行安装各种包的脚本,它不够灵活,不能满足未来OpenStack升级的需求,而且安装过程一旦出错回滚起来非常麻烦,可能涉及到要删除之前的包和之前的配置。
FROM tutum/ubuntu:trusty
MAINTAINER niusmallnan <zhangzb@neunn.com>
RUN echo 'deb http://cn.archive.ubuntu.com//ubuntu trusty main restricted universe multiverse'>/etc/apt/sources.list
RUN echo 'deb http://cn.archive.ubuntu.com//ubuntu trusty-updates main restricted universe multiverse'>>/etc/apt/sources.list
RUN echo 'deb http://cn.archive.ubuntu.com//ubuntu trusty-security main restricted universe multiverse'>>/etc/apt/sources.list
RUN echo 'Acquire::HTTP::Proxy "http://192.168.250.1:8000/";'>/etc/apt/apt.conf.d/90curtin-aptproxy
RUN apt-get-y update
RUN DEBIAN_FRONTEND=noninteractive apt-get-y install curl vim
RUN curl https://pypi.python.org/packages/source/s/setuptools/setuptools-1.1.6.tar.gz | (cd /root;tar xvzf -;cd setuptools-1.1.6;python setup.py install)
RUN easy_install pip
RUN rm -rf /root/setuptools-1.1.6
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ea749f708982 tutum/mysql:latest /run.sh 24 hours ago Up24 hours 0.0.0.0:3306->3306/tcp lonely_jones
8704dbf876bd crosbymichael/dockerui:latest ./dockerui -e /docke 5 days ago Up5 days 0.0.0.0:9000->9000/tcp high_almeida