定制 YashanDB 个人版 Docker 镜像

↑ 关注“少安事务所”公众号,欢迎⭐收藏,不错过精彩内容~

TL;DR

前文介绍了如何在 Rocky Linux 9 上安装 YashanDB 个人版,初体验过后,上点难度。

本文将介绍如何在本地环境,定制 Dockerfile 并自行构建 YashanDB 个人版的 Docker 镜像。

以及,基于该 Docker 镜像,启动两个容器,配置 YashanDB 的主备高可用。

本文篇幅略长,直接上干货,如有疑问,欢迎讨论。

定制 Dockerfile 构建 YashanDB 个人版镜像

这里就不赘述 Docker 的各种优势了,只是需要说明的是,本文使用的环境为 Rocky 9,docker 已经被 podman 所取代。

Dockerfile 的大体思路是:

  1. 以 CentOS 7 为基础镜像,安装几个常用软件包
  2. 创建 yashan 用户,后面的操作将在该用户下进行
  3. 下载 YashanDB 个人版的安装包,并解压
  4. 使用 YashanDB 个人版安装包里的脚本安装崖山数据库

具体 Dockerfile 内容如下:

FROM centos:7
LABEL maintainer="Shawn Yan"

# Install requirements.
RUN yum install -y wget iproute epel-release \
 && yum install -y rlwrap \
 && yum clean all


# Env.
ENV YASDB_PKG="yashandb-personal-23.1.1.100-linux-x86_64.tar.gz" YASDB_INSTALL=/tmp/yashan

# Create User
RUN useradd -u 2023 yashan \
 && echo "if command -v rlwrap >/dev/null 2>&1; then alias yasql='rlwrap yasql'; fi" >> /home/yashan/.bashrc


# Download YashanDB pkg.
RUN wget https://linked.yashandb.com/resource/$YASDB_PKG -P /tmp \
 && mkdir $YASDB_INSTALL \
 && tar zxf /tmp/$YASDB_PKG -C $YASDB_INSTALL \
 && rm -f /tmp/$YASDB_PKG


# Init.
RUN chown -R yashan:yashan $YASDB_INSTALL \
 && su -l yashan -c "$YASDB_INSTALL/scripts/install.sh" 2>&1 < /dev/null


# Mount
EXPOSE 1688
VOLUME ["/tmp"]
CMD ["/usr/sbin/init"]

使用 podman 构建镜像,调试 dockerfile 耗费了半天时间,skill 有些生疏了。

podman build -f Dockerfile -t shawnyan.cn/myyashan .
podman images
alt

到此,YashanDB 个人版镜像已经制作完成。

由于某些原因,Docker Hub 的上载、下行网速实在堪忧,建议感兴趣、有需求的同学在本地自行构建镜像,会更快、高效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值