2017-07-02 9 views
0

私はここで何か不足しているようです。Azureで設定したドッキングコンテナーアプリを表示するにはどうすればよいですか?

私はAzureで無料のアカウントを設定しました。彼らのチュートリアルを参考にして、私は公開鍵/秘密鍵を設定して、サーバにsshしました。 (これは、ポータル上にコンテナリソースを作成した後に行われました)。そのサーバーに入ったら、私はこのコマンドを正常に実行しました:

docker run -d -p 80:80 dallascaley/get-started:part1 

また、docker psコマンドを使って実行中であることを確認することもできます。私はこれも私のローカルシステム上でうまく動作することを知っているので、私は最初のコンテナドッカーアプリケーションを起動して稼働させることに非常に近いと感じていますが、ライブを表示するためにはどのアドレスに行く必要があるのか​​分かりません。アプリ。

スタックオーバーフローに関する1つのポストによると、 'swarm-master-ip-'で始まるリソースにリストされているが動作しないIPアドレスもDNS名である必要があります。私は自分のリソースリストのすべてのレコードを見て、すべてのDNSとIPアドレス(大部分は重複している)を試してみましたが、どれも動作していないようです。

提案がありますか?

答えて

1

根本原因は、あなたがマスター上にコンテナを作成するために、スウォームエージェント上にコンテナを作成する必要があります。デフォルトでは、を作成することはできません。

我々はコンテンツマスターを群れとdocker infoを実行すると、このような情報は:

[email protected]:~# docker info 
Containers: 2 
Running: 2 
Paused: 0 
Stopped: 0 
Images: 2 
Server Version: 17.06.0-ce 
Storage Driver: overlay 
Backing Filesystem: extfs 
Supports d_type: true 
Logging Driver: json-file 
Cgroup Driver: cgroupfs 
Plugins: 
Volume: local 
Network: bridge host macvlan null overlay 
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog 
Swarm: inactive 
Runtimes: runc 
Default Runtime: runc 
Init Binary: docker-init 
containerd version: cfb82a876ecc11b5ca0977d1733adbe58599088a 
runc version: 2d41c047c83e09a6d61d464906feb2a2f3c52aa4 
init version: 949e6fa 
Security Options: 
apparmor 
Kernel Version: 3.19.0-65-generic 
Operating System: Ubuntu 14.04.4 LTS 
OSType: linux 
Architecture: x86_64 
CPUs: 2 
Total Memory: 6.805GiB 
Name: swarm-master-784816DA-0 
ID: IKDF:RSRH:CXT2:M6ER:KI4R:DYAR:2CZH:FFQX:MCRT:4NZB:CBS4:LNRK 
Docker Root Dir: /var/lib/docker 
Debug Mode (client): false 
Debug Mode (server): false 
Registry: https://index.docker.io/v1/ 
Experimental: false 
Insecure Registries: 
127.0.0.0/8 
Live Restore Enabled: false 

WARNING: No swap limit support 

はその後、我々は、ドッキングウィンドウの群れクラスタにアクセスはあなたのために設定されたローカルポートにDOCKER_HOST環境変数を設定しましたトンネル聖霊降臨祭このコマンドexport DOCKER_HOST=:2375docker info

[email protected]:~# export DOCKER_HOST=:2375 
[email protected]:~# docker info 
Containers: 0 
Running: 0 
Paused: 0 
Stopped: 0 
Images: 0 
Role: primary 
Strategy: spread 
Filters: health, port, dependency, affinity, constraint 
Nodes: 1 
swarm-agent-784816DA000001: 10.0.0.5:2375 
    └ Status: Healthy 
    └ Containers: 0 
    └ Reserved CPUs: 0/2 
    └ Reserved Memory: 0 B/7.145 GiB 
    └ Labels: executiondriver=<not supported>, kernelversion=3.19.0-65-generic, operatingsystem=Ubuntu 14.04.4 LTS, storagedriver=overlay 
    └ Error: (none) 
    └ UpdatedAt: 2017-07-03T01:57:18Z 
Plugins: 
Volume: 
Network: 
Log: 
Swarm: 
NodeID: 
Is Manager: false 
Node Address: 
Kernel Version: 3.19.0-65-generic 
Operating System: linux 
Architecture: amd64 
CPUs: 2 
Total Memory: 7.145GiB 
Name: 2076070ddfd8 
Docker Root Dir: 
Debug Mode (client): false 
Debug Mode (server): false 
Experimental: false 
Live Restore Enabled: false 

WARNING: No kernel memory limit support 

は、その後、我々は情報を得るためにdocker psを実行します。

[email protected]:~# docker run -d -p 80:80 yeasy/simple-web 
0226e9ab3cadf20701f64c02f1f4a42f5fd57fd297722f268db47db1b124ab5c 
[email protected]:~# docker ps 
CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS    PORTS     NAMES 
0226e9ab3cad  yeasy/simple-web "/bin/sh -c 'pytho..." 6 seconds ago  Up 5 seconds  10.0.0.5:80->80/tcp swarm-agent-784816DA000001/stupefied_snyder 

その後、我々は、ウェブサイトにアクセスするための群れエージェントポンドのロードバランサのパブリックIPアドレスまたはDNSを使用することができます。

設定環境の詳細については、linkを参照してください。

+0

あなたのために働くのですか?さらなる支援をご希望の場合はお知らせください。 –

+0

提供された情報が役立ったかどうかをチェックするだけです。さらなる支援をご希望の場合はお知らせください。 –

+0

ここで、「あなたがトンネル用に設定したローカルポート」が見つかりました。どこでもこの設定を思い出しませんか? –

0

私はAzureとAzure Container Serviceを知らないので、ドキュメントから収集できるものに基づいてこれに答えようとしています。

swarm-master-ipと言って以来、私はあなたがコンテナサービスでSwarmクラスタを起動したと仮定しています。

あなたは今、パブリックDNSを通じて、このコンテナ内で実行されるアプリケーションにアクセスすることができます。https://docs.microsoft.com/en-us/azure/container-service/container-service-docker-swarmのドキュメントが自動的にアプリケーションにリクエストをルーティングしますスウォームエージェントノード用に設定Azureのロードバランサがあることを示唆していますSwarmエージェントロードバランサの名前。 Azureポータルでこの情報を見つけることができます。

Azureコンテナサービスポータルのどこにもない場合は、AzureサービスのどこかがAzure Load Balancerの管理者であり、公開DNSがリストされている必要があります。

0

ドッキング・コンテナはホスト・ポート80にバインドされています。そのため、ホストからは実行中のインスタンスcurl localhostを突き止めて肯定的な応答を得ることができます。 この空白のインスタンスがパブリックIP(パブリックにバインドされたネットワークインターフェイス)を持っていると仮定すると、ifconfigとIPアドレスを得ることができ、世界中のどこからでもhttp://12.34.56.78(任意の外部インターフェイスのIPアドレスis)

関連する問題