2017-05-03 7 views
3

私はかなり密接docker get started guideを追ってきた - 私は確認している私のpythonアプリでいくつかの変更は、私がドッキングウィンドウにプッシュしているバージョンから問題なく動作しているため除いハブ私はパート3を取得し、localhost:80をロードしようとしたときはじめよう次のとおりです。スタックサーバスタックロードページが延々と

はしかし、ページは単に無限ロードします。

マイコマンド:

$ docker swarm init 
Swarm initiated: ... 
$ docker stack deploy -c docker-compose.yml 
Creating network getstartedlab_webnet 
Creating service getstartedlab_web 
$ docker stack ps getstartedlab 
ID     NAME     IMAGE      NODE    
    DESIRED STATE  CURRENT STATE   ERROR    PORTS 
fhxqr2u8hxar  getstartedlab_web.1 mctague/friendlyhello:2 cube    Running    Running 29 seconds ago      
4t9mu9r8147e  getstartedlab_web.2 mctague/friendlyhello:2 cube    Running    Running 28 seconds ago      
duute2pvgu9z  getstartedlab_web.3 mctague/friendlyhello:2 cube    Running    Running 30 seconds ago      
9kav6v27qfjn  getstartedlab_web.4 mctague/friendlyhello:2 cube    Running    Running 29 seconds ago      
1s2imbiuk6e2  getstartedlab_web.5 mctague/friendlyhello:2 cube    Running    Running 29 seconds ago      
$ docker logs <one of the running containers> 
* Running on http://0.0.0.0:80/ (Press CTRL+C to quit) 
$ curl localhost:80 
< either an endless loading that I have to cancel with ^C, 
    *OR* Connection refused > 

ドッキングウィンドウ-compose.yml

version: "3" 
services: 
    web: 
    image: mctague/friendlyhello:2 
    deploy: 
     replicas: 5 
     resources: 
     limits: 
      cpus: "0.1" 
      memory: 50M 
     restart_policy: 
     condition: on-failure 
    ports: 
     - "80:80" 
    networks: 
     - webnet 
networks: 
    webnet: 
+1

あなたはあなたの例をsimplyfyしようとしたがありますか? 1つのレプリカだけを配備して、リソースをもう少し与え、再起動ポリシーなしで起動してください(可能性のあるエラーソースの1つ)。 – Gabbax0r

+0

@ Gabbax0rはまったく同じように動作し、無限のロードまたは全くロードしない –

+0

実行しているアプリケーションはどれですか?あなたは 'mctague/friendlyhello'を持っているイメージ名では分かりません。 Dockerfileの内容を共有することはできますか? – JulioHM

答えて

2

一部のシステムでは、カールは、localhostのデフォルトでIP6に接続します。

$ curl 127.0.0.1:80 

または

$ curl -4 localhost:80 
0

アレクセイの答えはあまりにも私の問題だった。だから、使用してカール実行することができます。次いで、ルートとしてsysctl -p(すべてを実行

net.ipv6.conf.all.disable_ipv6 = 1 
net.ipv6.conf.default.disable_ipv6 = 1 

:私はに/etc/sysctl.confに次の2行を追加することにより問題無効IPv6を(したがって、IPv4のをデフォルト)(これはCentOSの7である)解決しました/ su)。

関連する問題