Dockerでマップされたポートを変更する方法

王林
リリース: 2020-03-24 11:18:52
オリジナル
4065 人が閲覧しました

Dockerでマップされたポートを変更する方法

1. コンテナの設定ファイルを編集してポートを変更します;

docker run 运行启动时  -p 可以指定容器启动映射端口 (0.0.0.0:18080 8080)
ログイン後にコピー

設定ファイルを編集して変更できます; (Docker を再起動する必要があります)コンテナだけでなくサービスが有効になります。コンテナを再起動できる場合のみ上書きされます)

2. ポートを変更する必要があるコンテナを見つけます

docker ps
ログイン後にコピー

Dockerでマップされたポートを変更する方法

3. コンテナ ID に従って docker 設定ファイルを見つけます (コンテナ ファイル設定のデフォルトは /var/lib/docker/containers です)

docker のデフォルトの保存場所を変更したため。 (Docker info で docker 情報を表示できます)

4. docker のデフォルトの環境変数を変更します。デフォルトの構成は /var/lib/docker です。

デフォルトの環境システム構成をdocker 起動ファイル" / etc/default/docker ":

環境ファイル設定の追加:

# vi /usr/lib/systemd/system/docker.service
ログイン後にコピー

[サービス]に追加

EnvironmentFile=-/etc/default/docker #添加配置文件
ログイン後にコピー

[インストール]に追加

EnvironmentFile=-/etc/default/docker
ログイン後にコピー

(推奨チュートリアル: docker チュートリアル)

5. コンテナーを停止します

docker stop [ID/name]
ログイン後にコピー

6. Docker サービスを停止します

systemctl stop docker
ログイン後にコピー

7 . コンテナの構成ファイル hostconfig.json

config.v2.json を編集および変更します。マップされたアドレスはコンテナの起動時にのみ表示されるため、これを行う必要はありません。

/data/docker/containers/0731470143a94579b837b295f4c03a5f283e2bc1b0be746e7da451b9eb817120/hostconfig.json
容器配置命名就是 以 CONTAINER ID 容器ID开头的
ログイン後にコピー

8. hostconfig.json ファイルを表示して編集します;

jq . ./hostconfig.json
# jq 查看json 格式文件
# 更改 HostPort 就是映射的宿主机端口。
ログイン後にコピー

Dockerでマップされたポートを変更する方法

9. Docker サービスを開始してコンテナー

docker start [ID/NAME]
systemctl start docker 
docker ps
ログイン後にコピー

10. コンテナを起動すると、iptables が自動的に追加されるので、server iptables save を直接実行するだけです。または、心配しない場合は、ポートを直接追加することもできます:

宿主机添加端口:
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 58080 -j ACCEPT

宿主机 nat 映射:
iptables -A DOCKER ! -i docker0 -p tcp -m tcp --dport 58080 -j DNAT --to-destination 172.16.4.3:8080
ログイン後にコピー

注:

docker がコンテナを操作または追加するとき、最初にサービス iptables を保存し、次に編集して追加し、再起動します。

コンテナを追加するとデフォルトでファイアウォールへのマッピングが追加されますが、iptablesを再起動すると無効になるため、保存してから再起動する必要があります。

以上がDockerでマップされたポートを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート