2015-11-11 6 views
10

私はVPSでapacheまたはnginxを使用しているドッカーコンテナの管理者のlinux noobです。vPSのドッカーコンテナの出力ポート用のnginx/apacheリダイレクト

私はOVHクラシックVps(4go ram、25Go SSD)を使用して、既にubuntu 15.04 +ドッカーのイメージがインストールされています。

ドッカーコンテナのインストールは本当に簡単ですが、私の場合は問題なくイメージsharelatexをインストールします。

docker run -d \ 
    -v ~/sharelatex_data:/var/lib/sharelatex \ 
    -p 5000:80 \ 
    --name=sharelatex \ 
    sharelatex/sharelatex 

サイトは問題なく、そのサイトの作品を表示http://51.255.47.40:5000ポートでVPSのIPにアクセス可能です。

は、私はサブドメイン(tools.sebastienreycoyrehourcq.frは)理由を理解していない、動作しない、(51.255.47.40はwebfactionパネルで外部にルーティング)サーバのIP VPSに行くために立体配置の既に持っています。

私は51.255.47.40にApacheサーバーをインストールしますが、おそらく最適なオプションはおそらくnginxまたはapacheのドッカーイメージをインストールすることでしょうか?この点についてアドバイスできますか?その後、どのように私のサブドメインにリンクされているapacheまたはnginxの古典的な80ポートのドッカー画像の5000ポートにリダイレクトできますか?

答えて

4

前の回答でアプリにアクセスすることができますこの方法では、おそらくのほとんどをカバー特にドメイン名のリダイレクトに問題があった場合は、問題が発生します。

完全に移植可能でドッカーの可能性をすべて利用するには、Nginx公式ドッカーの画像を使用して、外部からアクセス可能な唯一のもの(ポートを開く)とし、--link Nginxのコンテナと他のコンテナとの間の接続を管理します。

私はかなりうまく動作する同様の状況でこれを行っています。以下は私があなたの状況に対して行ったことの暫定的な翻訳です。

docker run -d \ 
    -v ~/sharelatex_data:/var/lib/sharelatex \ 
    --name=sharelatex \ 
    sharelatex/sharelatex 

あなたは

upstream sharelatex { 
    # this will refer to the name you pass as link to the nginx container 
    server sharelatex; 
} 

server { 
     listen 80; 
     server_name tools.sebastienreycoyrehourcq.fr; 
     location ^~/{ 
       proxy_pass http://sharelatex/; 
     } 
} 

次のようになりますあなたは$HOME/nginx/confに置くあなたのshareLatexサーバーのnginxのconfのファイルを準備します

あなたは、任意の外部ポートを指定せずに、あなたの株ラテックスコンテナを起動します適切なボリュームリンクとコンテナのリンクを使用して、nginxドッカーのコンテナを起動してください:

docker run -d --link sharelatex:sharelatex --name NginxMain -v $HOME/nginx/conf:/etc/nginx/sites-available -v -p 80:80 kekev76/nginx 

ps:これは、githubとdockerに公開されている独自のkekev76/nginxイメージで行われていますが、公式のnginxイメージにその原則を適用することができます。

2

nginx-proxyhttps://github.com/jwilder/nginx-proxy)、その後tools.sebastienreycoyrehourcq.frにVIRTUAL_HOSTセットでsharelatexを実行すると、この作業を取得するのに十分でなければなりません。

docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy 

docker run -d \ 
-e VIRTUAL_HOST=tools.sebastienreycoyrehourcq.fr \ 
-v ~/sharelatex_data:/var/lib/sharelatex \ 
-p 5000:80 \ 
--name=sharelatex \ 
sharelatex/sharelatex 
+0

回答ありがとうございます。nginx-proxyを使用すると、生成された設定ファイルをボリュームに保存できますか? – reyman64

+0

'https:// github.com/jwilder/nginx-proxy/blob/master/Procfile'に基づいて、' docker cp :/ etc/nginx/conf.d/default.conf nginx .confはそれを行うべきです。 – palfrey

2

tools.sebastienreycoyrehourcq.frが適切に構成されていないサブドメインが続きます。これは動作しない理由であるIPアドレスには解決されません。

あなたのサブドメインを設定した後、このコマンドでポート80のsharelatexコンテナを実行できます。

docker run -d \ 
    -v ~/sharelatex_data:/var/lib/sharelatex \ 
    -p 80:80 \ 
    --name=sharelatex \ 
    sharelatex/sharelatex 

あなたはhttp://tools.sebastienreycoyrehourcq.fr

関連する問題