
私は 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で何も検出しません
192.168.0.150:8069 に Telnet 経由で接続できません
ポート リダイレクトまたはインターフェイス マッピングの構成の問題だと思います。助けていただけませんか? :)
答え1
ついに答えが見つかりました。問題はポートの割り当てでした。次のように設定した場合:
-p 127.0.0.1:8069:8069
ローカルホストのみを公開しています。ローカル サービスのみが必要で、サーバーからのみアクセスしたい場合、これは優れたセキュリティ オプションです。ただし、ポートをすべてのインターフェイスに公開する場合は、次のように入力します。
-p 8069:8069
その後、eth0 インターフェースを介してネットワーク経由でサービスにアクセスできるようになります :)