Docker は、開発者がアプリケーションをより迅速に構築、デプロイ、実行できるようにする強力なコンテナ化プラットフォームです。 Docker コンテナでは、コンテナ内のアプリケーションを外部の攻撃から保護するために、ファイアウォールがデフォルトで有効になっています。ただし、場合によっては、Docker コンテナーのファイアウォールをオフにする必要があります。この記事では、Dockerコンテナのファイアウォールをオフにする方法を説明します。
Docker コンテナのファイアウォールをオフにする前に、Docker コンテナのファイアウォールの状態を確認する必要があります。次のコマンドを使用して、Docker コンテナのファイアウォール ステータスを表示できます。
docker inspect 容器ID | grep -i iptables
ここで、「コンテナ ID」は、ファイアウォール ステータスを表示する Docker コンテナの ID です。
出力に次の行が含まれる場合、Docker コンテナのファイアウォールは有効になります:
"Iptables": true, "Iptables-Status": "Enabled",
出力に上記の行が含まれない場合、Docker コンテナのファイアウォールは無効になります。
Docker コンテナのファイアウォールをオフにする方法は 2 つあります。
方法 1: Docker コンテナのデフォルトの iptables ルールを無効にする
Docker コンテナは、デフォルトで iptables を使用してネットワーク トラフィックを管理します。iptables は非常に強力なファイアウォール ソフトウェアです。 Docker コンテナのファイアウォール機能を完全に無効にする場合は、デフォルトの iptables ルールを無効にすることができます。次のコマンドを使用して、Docker コンテナのデフォルトの iptables ルールを無効にできます。
docker run --rm --privileged alpine:latest sh -c "echo 'net.ipv4.conf.all.route_localnet=1' >> /etc/sysctl.conf && sysctl -p && iptables -P FORWARD ACCEPT && iptables -F && iptables -X"
このコマンドは、Alpine コンテナで特定のスクリプトを実行して、Docker コンテナのデフォルトの iptables ルールを無効にします。このコマンドは、Docker コンテナーのすべての iptables ルールを自動的にクリアします。
方法 2: Docker コンテナの iptables ルールを変更する
Docker コンテナの特定の iptables ルールのみを無効にする場合は、次のコマンドを使用できます:
docker exec 容器ID iptables -P INPUT ACCEPT
ここで、「コンテナ ID 」は、iptables ルールを変更する Docker コンテナの ID です。このコマンドは受信トラフィックを許可するため、Docker コンテナーのファイアウォールがオフになります。
上記の操作を完了した後、Docker コンテナのファイアウォールの状態を再度確認する必要があります。最初のステップでコマンドを使用すると、Docker コンテナーのファイアウォールのステータスを表示できます。出力に次の行が含まれていない場合、Docker コンテナのファイアウォールは正常にオフになっています:
"Iptables": true, "Iptables-Status": "Enabled",
概要:
Docker コンテナのデフォルトのファイアウォールは、コンテナを外部攻撃から保護できますが、場合によっては、Docker コンテナのファイアウォールをオフにする必要があります。 Docker コンテナのファイアウォールを無効にする前に、Docker コンテナのファイアウォールのステータスを確認し、Docker コンテナのファイアウォールを無効にする適切な方法を選択する必要があります。上記の操作を完了した後、Docker コンテナのファイアウォールの状態を再度確認して、ファイアウォールが正常にオフになっていることを確認する必要があります。
以上がDockerコンテナのファイアウォールをオフにする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。