ってことで、自宅サーバで動いてたMSSQLを外に出すことにしたんですが・・。
sqlservr: This program requires a machine with at least 2000 megabytes of memory.
🤔
おうふ・・。
ってことで公式の方を見に行ったら見事に2GB以上じゃないとダメだとのこと。
At least 2GB of RAM (3.25 GB prior to 2017-CU2). Make sure to assign enough memory to the Docker VM if you're running on Docker for Mac or Windows.
でも俺は1GBのVPSで動かしたいんだ!
ってことで色々ネットを漁ってて見つけたやつを一応ここにメモがてら書いておきます。
(2017は結構情報ありますが2019はダメだったと言う情報が多くて唯一見つけたやつ)
Dockerfile
FROM oraclelinux:7-slim AS build0
WORKDIR /root
RUN yum update -y && yum install -y binutils gcc
ADD wrapper.c /root/
RUN gcc -shared -ldl -fPIC -o wrapper.so wrapper.c
FROM mcr.microsoft.com/mssql/rhel/server:2019-latest
COPY --from=build0 /root/wrapper.so /root/
ADD wrapper.c /root/
USER root
RUN echo "/root/wrapper.so" > /etc/ld.so.preload
USER mssql
どうやらRHEL版を使うようにしたみたいです。
同じやり方でUbuntu版やると動かないのでネット情報は動かないで溢れているのかも?
あとはこいつをビルドしてあげるだけ。
一応動くには動いてます。
エラーも今のところなさそうなので大丈夫ですが、2GBに偽装しているみたいですし、もともと2GB要求されているので危険が伴うので実際はやめたほうがいいでしょう・・。
私はまだそんなに重要なやつを動かしているわけじゃないので一旦このまま進めようかなと思います。