docker run でポート マッピングを指定できることはわかっていますが、コンテナーが生成されると、直接変更できるコマンドはありません。通常、間接的な方法では、イメージを保存し、新しいコンテナを作成し、作成時に新しいポート マッピングを指定します。
(推奨チュートリアル: docker チュートリアル)
それでは、イメージを保存せずに既存のコンテナを直接変更する方法はあるのでしょうか?
具体的な方法は以下の通りです。
1) コンテナを停止します
2) docker サービスを停止します(systemctl stop docker)
3) 変更しますこのコンテナの hostconfig json ファイル内のポート (元の投稿で、ポートが config.v2.json にも記録されている場合は、ポートも変更する必要があると誰かが述べています)
cd /var/lib/docker/3b6ef264a040* #这里是CONTAINER ID vi hostconfig.json #如果之前没有端口映射, 应该有这样的一段: "PortBindings":{} #增加一个映射, 这样写: "PortBindings":{"3306/tcp":[{"HostIp":"","HostPort":"3307"}]} #前一个数字是容器端口, 后一个是宿主机端口. #而修改现有端口映射更简单, 把端口号改掉就行.
4) docker サービス (systemctl start docker)
5) コンテナーの開始
以上がDockerコンテナのポートを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。