麒麟V10SP1申威内核安装Docker并部署项目

该文章已生成可运行项目,

        由于此前项目在arm架构与x86架构下已经部署测试并投入客户现场使用,项目已趋于稳定阶段。有一客户指定sw64内核的国产服务器,网上对于sw64的资料少之又少,在踩了多个坑之后终于将项目运行起来,特此记录一下过程。

一、Docker环境准备

通过网络资料查询到申威提供的rpm包,下载docker进行安装。

Index of /NS/V10/V10SP1/os/adv/lic/base/sw_64/Packages/

下载Docker相关rpm包:docker-ce-cli-20.10.12.ce-2.ky10.sw_64.rpm、docker-ce-19.03.14.ce-3.ky10.sw_64.rpm、docker-compose-1.22.0-2.ky10.noarch.rpm

并下载所需要的环境包:device-mapper-1.02.150-7.ky10.sw_64.rpm、lvm2-2.02.181-7.ky10.sw_64.rpm

(1)安装alien

sudo apt-get install alien -y

(2)将下载的rpm文件通过alien进行安装,此处需指定--target=64,否则会有内核报错

cd $(pwd)/init
echo 进入目录:$(pwd)
sudo alien -i --scripts lvm2-2.02.181-7.ky10.sw_64.rpm --target=sw64
sudo alien -i --scripts device-mapper-1.02.150-7.ky10.sw_64.rpm --target=sw64
sudo alien -i --scripts docker-ce-cli-20.10.12.ce-2.ky10.sw_64.rpm --target=sw64
sudo alien -i --scripts docker-ce-19.03.14.ce-3.ky10.sw_64.rpm --target=sw64

(3)安装完成后启动docker,并验证是否安装成功

启动Docker服务
sudo systemctl start docker

开机自启
sudo systemctl enable docker.service

验证docker
docker version

(4)安装Docker-Compose

sudo alien -i --scripts docker-compose-1.22.0-2.ky10.noarch.rpm --target=sw64
sudo ln -s /usr/bin/docker-compose /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose -version

(5)当前用户加入Docker组

sudo groupadd docker
sudo gpasswd -a $USER docker
sudo systemctl restart docker

至此Docker已成功安装,接下来需要准备所需要的镜像。

二、镜像准备

项目所需要的镜像有JDK1.8、MySQL5.7、Redis、Nginx、Nacos,通过查阅资料,找到一个大佬现成的几个镜像,但没有nacos,于是参考着资料自己构建了一个nacos镜像用于项目。

申威平台docker镜像使用方法_申威银河麒麟docker镜像-CSDN博客

通过docker pull拉取了redis6.2.6、nginx、mysql镜像,以及一个系统基础镜像(用于制作nacos镜像)

拉取DockerHub上的镜像,需接入代理(科学上网)
docker pull leechm/redis:6.2.6
docker pull leechm/nginx:1.16.1-v10
docker pull leechm/mysql:5.7.33
docker pull leechm/neokylin-sw:v10

(1)制作nacos镜像

通过docker run先进入到基础镜像中,在这步会一直报错,似乎seccomp与申威内核不太兼容,找不到有效的解决方案,直接先不设置策略启动。

docker run --security-opt seccomp=unconfined -it --restart=always --net=host -e TZ="Asia/Shanghai" -p 8848:8848  leechm/neokylin-sw:v10 /bin/bash

启动容器后,根据该镜像的描述,将yum源配置为外网。

https://hub.docker.com/r/leechm/neokylin-sw

sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/neokylin.repo

通过yum安装jdk环境

yum list | grep jdk
yum install -y java-1.8.0-swjdk*

Github下载nacos1.4.2版本(高版本会有不兼容,如:rocksdb,如需高版本需要在sw64系统自行编译源代码生成动态库,试了一堆报错放弃了)

运行nacos下bin目录的启动脚本看看能不能启动,没有报错的话这个镜像就制作完成了。接下来导出镜像。

导出镜像记得加上标签。

docker save 4392e1a88c1f > sw64_nacos-server_1.4.2.tar sw64/nacos-server:1.4.2
docker save 9b95f11fe9ef > sw64_nginx_1.16.1.tar leechm/nginx:1.16.1-v10
docker save 032c088804f8 > sw64_mysql_5.7.33.tar leechm/mysql:5.7.33
docker save dc43d5720f2e > sw64_redis_6.2.6.tar leechm/redis:6.2.6
docker save 8c8a6cf174d6 > sw64_jdk_1.8.tar dataexa/jdk-sw:1.8

编写Docker-compose.yaml文件(涉密,略),运行测试一下项目。

尚存问题:Docker运行起来的容器一段时间会出现exited 137自动退出的问题,该问题还找不到解决方案。

本文章已经生成可运行项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值