ってことで、自宅サーバで動いてた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要求されているので危険が伴うので実際はやめたほうがいいでしょう・・。

私はまだそんなに重要なやつを動かしているわけじゃないので一旦このまま進めようかなと思います。

  • 鴉河雛@LemmyOPMA
    link
    fedilink
    日本語
    arrow-up
    2
    ·
    edit-2
    7 months ago

    2GBのスワップがすでにありますが効果はありませんでした。
    (実際は2GiB必要らしいですが、多分スワップも2GiBあるんじゃないかと、ちゃんと見てないけどw)

    他の情報を見てもスワップは意味がないと言う話もあったりしますが試して見る価値はあるかも?

    どちらにせよスワップを4GBに増やす予定なのでそのときにやってみます。