Linux

CentOS 上の Docker にウェブサーバーを入れて80番以外のポートで公開することができない問題【未解決】

投稿日:2018年7月24日 更新日:

CentOS 7 上の Dockerコンテナ にウェブサーバーを入れた場合、80番以外のポートで公開することはできないようです。

例えば、

まず、firewall-cmd コマンドで 8080番ポートを開けておき、

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload

以下のように Apache のイメージを元にした Dockerコンテナを起動します。

docker run -dit --name my-apache-app -p 8080:80 httpd:2.4

この操作によって、8080番ポートでウェブサイトを公開できるのかなと思ったのですが、少なくとも CentOS 7 の場合はうまくいきません。firewalld の設定に問題があり(?)、外部からのアクセスを Dockerコンテナに渡すところで止まっているようです。

似たような問題かなと思ったのが、Docker vs. firewalld on CentOS 7 · Issue #16137 · moby/moby · GitHub です。ここでは、Docker 自体の問題ではなく、RedHat (CentOS) 側のバグだと主張されており、firewalld のレポジトリ側にも issue が投稿されていましたが、既に解決済みとなっています。最初のページにあった解決策らしき手順も試してみましたがうまくいきません。

今回はこれ以上深入りする時間がなかったのですが、今後何解決策が見付かりましたらここに追記したいと思います。

📂-Linux

執筆者:labo


comment

メールアドレスが公開されることはありません。

関連記事

Linux

標準エラー出力を標準出力に向けるコマンド

Linux のターミナルにおいて、標準エラー出力を標準出力に向けるコマンドの記述方法を紹介します。

Linux

pip install でインストールしたパッケージを使おうとするエラーが発生する

目次1. はじめに2. 環境3. 対処方法4. おわりに 1. はじめに 以下のコマンドで、Python のパッケージをシステムにインストールしたとします。 $ sudo pip install {パ …

Linux

パターンにマッチした行を表示する grep コマンド

目次1. はじめに2. 主な使い方3. その他のオプション4. 正規表現について 1. はじめに grep は、対象ファイルの中で、指定した文字列パターンにマッチした行を表示するコマンドです。 ※ 本 …

CentOS

CentOS 8 を CentOS Stream に移行するコマンド

目次1. 突然の CentOS 8 終了宣言2. CentOS Stream に移行するコマンド3. 2021年5月:移行作業を行いました4. 参考 1. 突然の CentOS 8 終了宣言 Cent …

Linux

【Linux】 CentOS のマニュアル

CentOS は、RHEL (Red Hat Enterprise Linux)のソースコードから商標や商用パッケージ等を除去してリビルドした RHELクローンです。 マニュアルを見る場合は、RHEL …