在OS X 10.11.1上运行docker-machine
版本0.5.0和Docker
版本1.9.0。
我有自己的Couchbase图片(不是官方图片)。在入口点脚本内部,我正在运行一些curl
命令来配置Couchbase服务器并加载示例数据。问题是,curl
失败并显示错误消息Failed to connect to localhost port 8091: Connection refused
。我试过127.0.0.1
,0.0.0.0
,localhost
,都没有成功。netstat
显示该端口8091
上localhost
的监听。如果以后我使用docker exec
并运行相同的curl
命令登录到服务器,则可以正常工作!我想念什么?
错误:
couchbase4 | % Total % Received % Xferd Average Speed Time Time Time Current
couchbase4 | Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (7) Failed to connect to localhost port 8091: Connection refused
netstat输出:
root@cd4d3eb00666:/opt/couchbase/var/lib# netstat -lntu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:21100 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:21101 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:9998 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:4369 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8091 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8092 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:41125 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:11209 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:11210 0.0.0.0:* LISTEN
tcp6 0 0 :::11209 :::* LISTEN
tcp6 0 0 :::11210 :::* LISTEN
事实证明,如果我curl
在重新启动服务器后执行s,则这些工作正常。去搞清楚!就是说,请注意,据我所知,用于安装示例存储桶的REST API尚未公开。arun-gupta
的博客和他在这里的答案是我唯一提到的有关安装示例存储桶的REST调用的地方。有可用的python脚本,但需要安装python-httplib2
。
也就是说,arun-gupta
对的最后一个curl
声明可以改进如下:
if [ -n "$SAMPLE_BUCKETS" ]; then
IFS=',' read -ra BUCKETS <<< "$SAMPLE_BUCKETS"
for bucket in "${BUCKETS[@]}"; do
printf "\n[INFO] Installing %s.\n" "$bucket"
curl -sSL -w "%{http_code} %{url_effective}\\n" -u $CB_USERNAME:$CB_PASSWORD --data-ascii '["'"$bucket"'"]' $ENDPOINT/sampleBuckets/install
done
fi
其中SAMPLE_BUCKETS
可以是逗号分隔的环境变量中,可能的值是的组合gamesim-sample
,beer-sample
和travel-sample
。该--data-ascii
选项curl
不会阻塞动态创建的JSON。
现在,只有一种简单的方法可以在前台启动服务器。:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句