私はdockerから始めて、WebアプリケーションでDockerコンテナーを実行しようとし、ローカルネットワークでそれを確認しようとしています。
追加のサービス(GUI、LAMP、OpenSSHなど)なしでVirtualBoxに新しいUbuntu 14 LTSをインストールし、Dockerのみをインストールしました。
curl -sSL https://get.docker.com/ | sh
odoo(OpenERP)コンテナを実行しました(以前はpostgreeコンテナを実行していました)
docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo --name db postgres
docker run -p 127.0.0.1:8069:8069 --name odoo --link db:db -t odoo
とてもシンプルです。動作しているようです。ブラウザをインストールしていませんが、telnet経由で127.0.0.1:8069に接続し、GETリクエストを送信しました。答えました。
次に、外部からサービスにアクセスする必要があります。どうやって?
VirtualBoxネットワークインターフェースはブリッジとして構成されています。
Ubuntu eth0インターフェースに固定IP(192.168.0.150)を設定しました。
UFWが無効になっています
他のコンピューターから192.168.0.150にpingを実行すると、ubuntuが応答します。
しかし、ブラウザは192.168.0.150:8069で何も検出しません
Telnet経由で192.168.0.150:8069に接続できません
ポートリダイレクションまたはインターフェイスマッピングの設定である必要があると思います。私を手伝ってくれますか? :)
ついに私は答えを見つけました。問題はポートの割り当てでした。設定した場合:
-p 127.0.0.1:8069:8069
ローカルホストのみを公開しています。これは、ローカルサービスのみが必要で、サーバーからのみアクセスする場合に最適なセキュリティオプションです。ただし、ポートをすべてのインターフェイスに公開する場合は、次のように入力します。
-p 8069:8069
次に、eth0インターフェイスを介してネットワーク経由でサービスにアクセスできます:)