Dockerコンテナー内のASLR(アドレススペースレイアウトのランダム化)を無効にしようとしています。それが可能かどうかはわかりません。コンテナーはアルパインで実行されていますが、ASLRはカーネル機能であり、Dockerはホストカーネルを使用して実行するため、Dockerに対してのみASLRを無効にすることは簡単にはできません。
Dockerコンテナー内でのみASLRを無効にするにはどうすればよいですか?
personality(2)
syscallを使用して、プロセスのADDR_NO_RANDOMIZE
フラグを設定できます。そのプロセスとその子はASLRを使用しません。 Dockerを起動するプロセスでこれを行います。
ADDR_NO_RANDOMIZE (Linux 2.6.12以降) このフラグを設定して、address-space-layout ランダム化を無効にします。
つまり、ASLRを無効にするのはカーネルの設定であり、カーネルレベルで変更を行う必要があります。
ここにはいくつかのオプションがあります。
/proc
コンテナ内で、コンテナ内から変更します理論的には、これらはすべて機能するはずですが、どちらが適しているかは、正確なユースケースによって異なります。