web-dev-qa-db-ja.com

docker-machineポートをOSXのホストポートに転送するにはどうすればよいですか?

私は会社でプライベートDockerコンテナーを提供しており、同僚が社内ネットワークでアクセスできるようにしたいのですが、問題はゲストOSがOSXであるため、192.168.99.100:3000を使用してアプリケーションにしかアクセスできないことですDockerマシンからのデフォルトIP。

Docker-machine 3000ポートをHost 80ポートに転送するにはどうすればよいですか?

18
Juliano Pacheco

現時点では、DockerマシンはマシンのVirtualBoxで実行されている仮想マシンであるため、アプリケーションポートを公開するには、仮想マシンポートをホストポートにマップする必要があります。

これを実現するには2つのオプションがありますが、Dockerマシンが実行を停止していることを確認する前に:

docker-machine stop default     # see PS below if docker machine isn't default

オプション1-VirtualBoxインターフェイスを使用します

  • VirtualBox Managerを開く
  • Docker Machine VirtualBoxイメージを選択します(例:デフォルト)
  • [設定]-> [ネットワーク]-> [詳細設定]-> [ポート転送]を開きます。
  • アプリ名、目的のホストポート(例:80)、ゲストポート(例:3000)を追加します

オプション2-VirtualBoxコマンドラインを使用します

独自のパラメーターを指定して次のコマンドを実行するだけです。

VBoxManage modifyvm "dev" --natpf1 "myapp,tcp,,80,,3000"

最後の考慮事項

これで、Dockerマシンを実行できるようになりました。

docker-machine start default
eval $(docker-machine env default)

次に、アプリケーションのDockerコンテナを起動し、 http:// localhost / を実行してテストします。

PS:Dockerマシン名はdefaultではない可能性があります。この場合、それに応じて名前を変更してください。

26
Felipe Plets