#gStore-weekly | Centos7系统下gStore在 docker上的安装部署

2022-04-20 00:00:00 镜像 启动 依赖 安装 端口

本人在使用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

相关文章