#gStore-weekly | Centos7系统下gStore在 docker上的安装部署
本人在使用gStore时想在docker环境中安装部署,但是官网的开发文档中关于docker安装部署指导很少,因此本人就根据自己的安装经验编写一篇关于gStore在docker上的安装部署博文。
本人是在Centos7下采用 rpm离线安装docker,然后再在docker中安装部署gStore。以下为具体步骤。
一、docker的rpm安装包下载
1、版本及下载地址:
- docker-ce-19.03.9-3.el7.x86_64.rpm
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-19.03.9-3.el7.x86_64.rpm
- containerd.io-1.2.6-3.3.el7.x86_64.rpm
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
- docker-ce-cli-19.03.9-3.el7.x86_64.rpm
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-cli-19.03.9-3.el7.x86_64.rpm
二、所需依赖包下载
安装所需的依赖包各依赖包的版本及下载地址分别如下:
- audit-libs-python-2.8.5-4.el7.x86_64.rpm
http://mirrors.163.com/centos/7/os/x86_64/Packages/audit-libs-python-2.8.5-4.el7.x86_64.rpm
- checkpolicy-2.5-8.el7.x86_64.rpm
http://mirrors.163.com/centos/7/os/x86_64/Packages/checkpolicy-2.5-8.el7.x86_64.rpm
- libcgroup-0.41-21.el7.x86_64.rpm
http://mirrors.163.com/centos/7/os/x86_64/Packages/libcgroup-0.41-21.el7.x86_64.rpm
- libseccomp-2.3.1-4.el7.x86_64.rpm
http://mirrors.163.com/centos/7/os/x86_64/Packages/libseccomp-2.3.1-4.el7.x86_64.rpm
- libsemanage-python-2.5-14.el7.x86_64.rpm
http://mirrors.163.com/centos/7/os/x86_64/Packages/libsemanage-python-2.5-14.el7.x86_64.rpm
- policycoreutils-python-2.5-34.el7.x86_64.rpm
http://mirrors.163.com/centos/7/os/x86_64/Packages/policycoreutils-python-2.5-34.el7.x86_64.rpm
- python-IPy-0.75-6.el7.noarch.rpm
http://mirrors.163.com/centos/7/os/x86_64/Packages/python-IPy-0.75-6.el7.noarch.rpm
- setools-libs-3.3.8-4.el7.x86_64.rpm
http://mirrors.163.com/centos/7/os/x86_64/Packages/setools-libs-3.3.8-4.el7.x86_64.rpm
- container-selinux-2.107-3.el7.noarch.rpm
http://rpmfind.net/linux/centos/7/extras/x86_64/Packages/container-selinux-2.107-3.el7.noarch.rpm
三、安装
3.1 检查安装环境
上传安装包以及依赖到centos7服务器,本文档测试路径为/home/docker-rpm/rpm1
上传成功后文件如下:
3.2 开始安装
3.2.1 批量安装依赖包
进入/home/docker-rpm/rpm1
目录执行:rpm -Uvh *.rpm --nodeps --force
3.2.2 安装 container
进入/home/docker-rpm/rpm2
目录执行:
rpm -Uvh container-selinux-2.107-3.el7.noarch.rpm
3.2.3 安装docker
进入 /home/docker-rpm/rpm3
目录执行
rpm -Uvh containerd.io-1.2.6-3.3.el7.x86_64.rpm
rpm -Uvh docker-ce-cli-19.03.9-3.el7.x86_64.rpm
rpm -Uvh docker-ce-19.03.9-3.el7.x86_64.rpm
四、检查docker安装
· 启动docker:systemctl start docker
· 查看docker启动容器列表: docker ps -a
· 安装成功
·tips:如果安装途中报错有包找不到,百度地址后去下载,再安装就行
五、docker安装gStore
5.1 拉取gStore镜像
输入以下命令拉取gStore新版镜像
docker pull pkumodlab/gstore:0.9
5.2 启动容器
使用docker镜像pkumodlab/gstore:0.9以后台模式启动一个容器,并将容器命名为gStore0.9,并指定端口为20008到宿主机的20009
docker run -di --name gstore0.9 -p 20008:20009 pkumodlab/gstore:0.9
5.3 检查是否启动成功
通过查看镜像id和状态检查是否启动成功
docker ps -a
5.4 进入docker
docker exec -it 19ddfb0a1e18[镜像id] bin/bash
注意镜像id是从docker ps -a中获取
5.5 后台启动gStroe中的ghttp
- 后台启动ghttp:
nohup bin/ghttp system 20008 &
- 停止ghttp(供参考)
bin/shutdown 20008
5.6 退出docker
exit
5.7 检查防火墙是否开启
我们需要开启宿主机中20009端口的防火墙,若没开启则通过以下命令开启
firewall-cmd --list-all //查看所有开放端口
firewall-cmd --zone=public --add-port=200085.8/tcp --permanent //开放端口
firewall-cmd --reload //重载端口
5.8 firewalld的基本使用
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
5.9 测试gStore是否安装好
通过ghttp服务远程访问:http://serverip:port/
本人访问地址为:http://ip:20008
附:docker gStore 导出镜像以及迁移后导入
1、生成导出镜像
docker save : 将指定镜像保存成 tar 归档文件。
docker save -o docker-gstore0.9.tar pkumodlab/gstore:0.9
2、重新加载镜像
docker load -i docker-gstore0.9.tar
相关文章