Files
oceanbase/tools/docker/mini/Dockerfile
2022-03-01 17:16:21 +08:00

29 lines
1.5 KiB
Docker

FROM oceanbase/centos7:latest
ARG GIT_SOURCE=github
RUN yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo && yum install -y ob-deploy obclient ob-sysbench wget rpm* cpio make glibc-devel glibc-headers m4 git obclient && mkdir /root/pkg && cd /root/pkg && rm -rf /usr/obd/mirror/remote/* && yumdownloader oceanbase-ce oceanbase-ce-libs && obd mirror clone *rpm && obd mirror list local && rm -rf * && yum clean all
WORKDIR /root/.obd/plugins/oceanbase/3.1.0
RUN sed -i 's/system_memory = max(4 << 30, system_memory)/system_memory = max(3 << 30, system_memory)/g' generate_config.py || echo 'system_memory changed'
RUN sed -i 's/if memory_limit < MIN_MEMORY:/if False and (memory_limit < MIN_MEMORY):/g' generate_config.py || echo 'memory_limit changed'
RUN sed -i '/_start_check(plugin_context, strict_check)/a\ success = True' start_check.py || echo 'check changed'
# clone code
RUN mkdir -p /root/source \
&& cd /root/source \
&& git clone https://${GIT_SOURCE}.com/oceanbase/oceanbase
WORKDIR /root/source/oceanbase
RUN sed -i 's/const int64_t ObRunningModeConfig::MINI_MEM_LOWER = 8L << 30;/const int64_t ObRunningModeConfig::MINI_MEM_LOWER = 4L << 30;/g' deps/oblib/src/lib/ob_running_mode.cpp || echo "ob_running_mode.cpp no need patched"
RUN sh build.sh debug --init \
&& sh build.sh --make -j4 \
&& cd build_debug \
&& make DESTDIR=. install \
&& obd mirror create -n oceanbase-ce -V 100.0.0 -p ./usr/local -t test -f
COPY boot /root/boot/
ENV PATH /root/boot:$PATH
WORKDIR /root
CMD _boot