pipe理员curl命令失败,退出56错误

我有这个curlcmd我本地在OSX上成功完成:

curl -XPOST http://192.168.59.103:9200/inventoryindex {"acknowledged":true} 

但是当它从dockerpipe理员运行它失败… ummmmm

  2014-08-16 14:24:38,838 INFO supervisord started with pid 1 2014-08-16 14:24:39,842 INFO spawned: 'curl' with pid 9 2014-08-16 14:24:39,843 INFO spawned: 'elasticsearch' with pid 10 2014-08-16 14:24:39,844 INFO spawned: 'sshd' with pid 11 2014-08-16 14:24:39,853 INFO exited: curl (exit status 56; not expected) 

我已经尝试了几个不同的命令的变体,结果相同:以下是supervisor命令的最新版本:

  [program:curl] command=curl --header "Content-Type:application/json" -XPOST 'http://192.168.59.103:9200/inventoryindex' 

有什么想法吗? 谢谢!

[更新]所以,看看信息条目,我认为问题是,在elasticsearch有机会启动之前,主pipe会产生curl过程。 我添加了优先设置,使curl过程最后产生,并增加了重试尝试,希望能减轻时间。

  [program:curl] command=curl -v --header "Content-Type:application/json" -XPOST 'http://192.168.59.103/:9200/inventoryindex' startretries=5 priority=1000 

我也试过localhost:9200&0.0.0.0:9200…zilch。 它看起来像生成订单是正确的,但curl仍然没有成功完成。

  2014-08-16 22:46:50,282 INFO supervisord started with pid 1 2014-08-16 22:46:51,285 INFO spawned: 'elasticsearch' with pid 10 2014-08-16 22:46:51,288 INFO spawned: 'rabbitmq-server' with pid 11 2014-08-16 22:46:51,290 INFO spawned: 'sshd' with pid 12 2014-08-16 22:46:51,294 INFO spawned: 'curl' with pid 17 2014-08-16 22:46:51,341 INFO exited: curl (exit status 7; not expected) 

弹性运行后重试增加再次尝试…现在应该可以curl,但…. zilch。

  2014-08-16 22:46:52,340 INFO success: elasticsearch entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) ... 2014-08-16 22:46:53,346 INFO spawned: 'curl' with pid 143 2014-08-16 22:46:53,372 INFO exited: curl (exit status 7; not expected) 

[更新2]

  1. docker工人(OSX)

      CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 13c872a3ffa7 team1/image1:rabbit /usr/bin/supervisord About a minute ago Up About a minute 22/tcp, 4369/tcp, 5672/tcp, 0.0.0.0:9001->9001/tcp, 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp, 0.0.0.0:15672->15672/tcp elegant_fermi 
  2. docker ps(boot2docker)

     CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 13c872a3ffa7 team1/image1:rabbit /usr/bin/supervisord 5 minutes ago Up 5 minutes 22/tcp, 4369/tcp, 5672/tcp, 0.0.0.0:9001->9001/tcp, 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp, 0.0.0.0:15672->15672/tcp elegant_fermi 
  3. netstat -tunlp …当我从boot2docker(ssh)连接到13c872a3ffa7时,没有可用于inputnetstat命令的命令提示符,所以我在ssh运行到boot2docker之后运行命令:

     netstat: can't scan /proc - are you root? Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - tcp 0 0 :::2375 :::* LISTEN - tcp 0 0 :::22 :::* LISTEN - 

我ssh'ddocker用户(我认为用户有根authentication)

克里斯…轻微的变化,同样的结果…从curl到Python客户端。 这里是代码的git链接。 谢谢!

[更新3] nsenter安装

  1. 从boot2docker:

    一个。 通过docker ps获取容器ID

    湾 得到PID

      PID=`docker inspect --format '{{ .State.Pid }}' $CONTAINER_ID` 

    C。 运行nsenter

      nsenter -t $PID -m -u -n -i -p -w nsenter: cannot open /proc/28160/ns/ipc: Permission denied 

重磅炸弹

如果我sudo nsenter切换到root,先前设置的variables被擦除,提示符不知道docker命令:

  nsenter -t 28160 -m -u -n -i -p -w nsenter: cannot open /proc/28160/ns/ipc: No such file or directory