>DockerDocker上でiptablesをいじろうとしたらハマった2019年3月20日Dokcer上でiptablesの設定を変更しようと思ったらいろいろとハマったのでメモを残しておきます。環境は、CentOSのDockerイメージを使うことにします。余談ですが、iptablesコマンドってデフォルトではインストールされてないんですね。deniedが出たのでどうしたものかと。してDocker上でiptablesは使えないのか、、、と思って調査することに。runするときに--cap-add=NET_ADMINオプションをつけると、Docker上でiptablesの設定が行えるようです。このオプションは、ネットワークに関して特権モードでコンテナを起動するためのものです。特権モードじゃないとダメということは、そもそもコンテナの考え方として、人がネットワークの情報(ルーティングなど)を書き換えるのを推奨していないんでしょうね。ちなみに、--privilegedオプションをつけて起動してもiptablesコマンドは使えます。--privilegedはネットワークを含むすべての操作において特権モードにするものなので、権限が過剰になりがちです。必要最小限の権限を付ける意味でも、--cap-add=NET_ADMINをつける方がよさそうです。iptablesコマンド、使えるようになりましたね。--cap-add=NET_ADMINでコンテナを起動しましょう。【Mac】Homebrewを使ってDockerをインストールするMacでHomebrewを使ってDockerをインストールする方法をメモしておきます。MacでCentOSを動かしてみたときのメモを残しておきます。コマンド1発で動かせます。MacでCentOSを動かしてみる【コマンド1発】プロフィールdonchan技術を磨きたくてSIerからWeb業界に転職したエンジニア。技術メモを書いています。