诺志
软硬件开发技术笔记
docker使用volplugin对接存储-(2)编译volplugin插件
2017-10-12

Tip: 此文是"docker使用volplugin对接存储"的第2节,你可以在这里开始阅读整个系列。

在docker容器中编译

docker环境的安装本文不再描述,不会的同学可以参考这里

1.首先下载centos镜像,

[root@dev25 ~]# docker pull centos
[root@dev25 ~]# docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
docker.io/centos      latest              196e0ce0c9fb        3 weeks ago         196.6 MB

2.启动一个centos容器

[root@dev25 ~]# docker run -d -ti docker.io/centos
[root@dev25 ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
70ec8e9120d7        docker.io/centos    "/bin/bash"         6 seconds ago       Up 4 seconds                            hopeful_pare
# 进入容器
[root@dev25 ~]# docker exec -it 70ec8e9120d7 /bin/bash
[root@70ec8e9120d7 /]# 

3.基本开发环境准备

# 安装一些开发工具
[root@70ec8e9120d7 /]# yum install git make golang git -y

# 配置go的环境变量
[root@70ec8e9120d7 /]# mkdir /opt/golang

# 设置环境变量
[root@70ec8e9120d7 /]# export GOPATH=/opt/golang
[root@70ec8e9120d7 /]# export PATH=$PATH:$GOPATH/bin

4.下载volplugin代码

[root@70ec8e9120d7 /]# mkdir -p /opt/golang/src/github.com/contiv/volplugin
[root@70ec8e9120d7 /]# git clone https://github.com/contiv-experimental/volplugin.git /opt/golang/src/github.com/contiv/volplugin

5.编译

[root@70ec8e9120d7 /]# cd /opt/golang/src/github.com/contiv/volplugin
[root@70ec8e9120d7 volplugin]# make run-build 
# 编译成功后,在go的默认bin目录产生所有的bin文件
[root@70ec8e9120d7 /]# ll /opt/golang/bin/
total 76532
-rwxr-xr-x. 1 root root 16278312 Oct 12 15:05 apiserver
-rwxr-xr-x. 1 root root 15590808 Oct 12 15:05 volcli
-rwxr-xr-x. 1 root root 13827605 Oct 12 15:04 volmigrate
-rwxr-xr-x. 1 root root 17147648 Oct 12 15:05 volplugin
-rwxr-xr-x. 1 root root 15503360 Oct 12 15:05 volsupervisor

# 由于volplugin的组件需要用到ceph和rbd命令,因此需要安装ceph客户端
[root@70ec8e9120d7 /]# yum install ceph-common -y

# 由于默认的centos镜像没有安装mkfs.ext4工具,因此需要安装对应的rpm包
[root@70ec8e9120d7 /]# yum install e2fsprogs -y

总结

到此为止,包含volplugin插件的一个容器已经创建好了,下一节会基于该容器产创建一个模板镜像

分类
2篇
c
1篇
8篇
18篇
8篇
2篇
搜索