docker中部署openstack的验证
docker中部署openstack的验证-by elikangDocker作为一个开源的应用容器引擎,可以帮助开发者打包他们的应用以及依赖包到一个可移植的容器中,然后可以将应用发布到任何Linux机器上,极大的方便了开发者。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任
·
docker中部署openstack的验证
-by elikang
Docker作为一个开源的应用容器引擎,可以帮助开发者打包他们的应用以及依赖包到一个可移植的容器中,然后可以将应用发布到任何Linux机器上,极大的方便了开发者。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。
既然Docker如此方便,我自然就萌生了将openstack的服务组件部署到Docker中,然后就可以将openstack轻松的迁移到其他系统平台上了。到网上去搜了一下资料,并没有发现这方面的文章,所以就打算自己亲自验证一下。
想要在Docker上搭建起openstack,需要分两大部分来完成:
第一部分:使用docker搭建openstack的安装环境
第二部分:在docker搭建起的容器中部署openstack组件
下面就具体介绍每一部分如何操作:
第一部分:使用docker搭建openstack的安装环境
主机环境:(参照openstack官网,使用两台主机搭建实验环境)
CPU: 8核
内存: 16GB
网卡: 需要两块网卡,配置可以openstack的需要自己修改。
本次试验采用192.168.100.0/24 作为管理网络
172.28.3.0/24作为外部公网
操作系统:CentOS7 64位
Docker容器内镜像:Ubuntu 14.04
Note:之所以选择这个版本的镜像是应为其它版本的Ubuntu安装过程出现了许多问题,解决起来比较麻烦;而且,现有的Centos镜像在调用systemctl的时候有个重大Bug未能解决。
1、安装docker
需要注意的是Docker需要LXC和AUFS等支持,最好将内核版本更新到3.8以后版本。
#yum -y docker
2、下载centos镜像
#docker pull ubuntu
//pull下来的ubuntu镜像就是14.04版本的,以后可能会更新,不过那时的版本应该也会稳定了。
3、刚下载的镜像还缺少很多东西,而且也不能使用ssh直接连接,所以需要以刚pull下来的镜像为基础重新制作一个新的镜像。
创建Dockerfile文件:
FROM ubuntu
MAINTAINER Eli Kang <3296189956@qq.com>
LABEL name="ubuntu ssh Image"
RUN apt-get update -y
RUN apt-get install -y openssh-server
RUN apt-get remove -y vim-common
RUN apt-get install -y vim
RUN mkdir /var/run/sshd; \
sed -i "s/Port.*/Port 20022/g" /etc/ssh/sshd_config; \
sed -i "s/PermitRootLogin.*/PermitRootLogin yes/g" /etc/ssh/sshd_config;
RUN echo root:123456 | chpasswd
EXPOSE 20022
CMD ["/bin/bash"]
使用如下命令build镜像:
docker build -t 172.28.3.23:5000/elikang/ubuntu_ssh .
//末尾的 '.'代表Dockerfile的路径,不能省略
稍等一会儿镜像就会制作完毕。我们在局域网环境下建立了私有仓库,可以使用如下命令push上去:
docker push 172.28.3.23:5000/elikang/ubuntu_ssh
这样,大家就可以随时pull下来这个镜像,方便地使用了。
4、运行pull下来的ubuntu_ssh镜像
此次试验使用的是宿主机的网络,所以请在容器运行之前,按照openstack的要求设置好网络。
#docker run -d -p 20022:20022 --net=host --privileged 172.28.3.23:5000/elikang/ubuntu_ssh /usr/sbin/sshd -D
之后就可以使用ssh登陆容器,进行后续的操作了。需要注意的是,sshd服务开启的端口已经被我设置成了20022端口,避免与宿主机的端口冲突。
第二部分:部署openstack
docker将openstack搭建环境安装好了之后,部署openstack的操作就可以参照官方网站给出的文档进行操作了。
附:
-by elikang
Docker作为一个开源的应用容器引擎,可以帮助开发者打包他们的应用以及依赖包到一个可移植的容器中,然后可以将应用发布到任何Linux机器上,极大的方便了开发者。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。
既然Docker如此方便,我自然就萌生了将openstack的服务组件部署到Docker中,然后就可以将openstack轻松的迁移到其他系统平台上了。到网上去搜了一下资料,并没有发现这方面的文章,所以就打算自己亲自验证一下。
想要在Docker上搭建起openstack,需要分两大部分来完成:
第一部分:使用docker搭建openstack的安装环境
第二部分:在docker搭建起的容器中部署openstack组件
下面就具体介绍每一部分如何操作:
第一部分:使用docker搭建openstack的安装环境
主机环境:(参照openstack官网,使用两台主机搭建实验环境)
CPU: 8核
内存: 16GB
网卡: 需要两块网卡,配置可以openstack的需要自己修改。
本次试验采用192.168.100.0/24 作为管理网络
172.28.3.0/24作为外部公网
操作系统:CentOS7 64位
Docker容器内镜像:Ubuntu 14.04
Note:之所以选择这个版本的镜像是应为其它版本的Ubuntu安装过程出现了许多问题,解决起来比较麻烦;而且,现有的Centos镜像在调用systemctl的时候有个重大Bug未能解决。
1、安装docker
需要注意的是Docker需要LXC和AUFS等支持,最好将内核版本更新到3.8以后版本。
#yum -y docker
2、下载centos镜像
#docker pull ubuntu
//pull下来的ubuntu镜像就是14.04版本的,以后可能会更新,不过那时的版本应该也会稳定了。
3、刚下载的镜像还缺少很多东西,而且也不能使用ssh直接连接,所以需要以刚pull下来的镜像为基础重新制作一个新的镜像。
创建Dockerfile文件:
FROM ubuntu
MAINTAINER Eli Kang <3296189956@qq.com>
LABEL name="ubuntu ssh Image"
RUN apt-get update -y
RUN apt-get install -y openssh-server
RUN apt-get remove -y vim-common
RUN apt-get install -y vim
RUN mkdir /var/run/sshd; \
sed -i "s/Port.*/Port 20022/g" /etc/ssh/sshd_config; \
sed -i "s/PermitRootLogin.*/PermitRootLogin yes/g" /etc/ssh/sshd_config;
RUN echo root:123456 | chpasswd
EXPOSE 20022
CMD ["/bin/bash"]
使用如下命令build镜像:
docker build -t 172.28.3.23:5000/elikang/ubuntu_ssh .
//末尾的 '.'代表Dockerfile的路径,不能省略
稍等一会儿镜像就会制作完毕。我们在局域网环境下建立了私有仓库,可以使用如下命令push上去:
docker push 172.28.3.23:5000/elikang/ubuntu_ssh
这样,大家就可以随时pull下来这个镜像,方便地使用了。
4、运行pull下来的ubuntu_ssh镜像
此次试验使用的是宿主机的网络,所以请在容器运行之前,按照openstack的要求设置好网络。
#docker run -d -p 20022:20022 --net=host --privileged 172.28.3.23:5000/elikang/ubuntu_ssh /usr/sbin/sshd -D
之后就可以使用ssh登陆容器,进行后续的操作了。需要注意的是,sshd服务开启的端口已经被我设置成了20022端口,避免与宿主机的端口冲突。
第二部分:部署openstack
docker将openstack搭建环境安装好了之后,部署openstack的操作就可以参照官方网站给出的文档进行操作了。
附:
部署完成之后dashboard截图
更多推荐
已为社区贡献1条内容
所有评论(0)