【发布时间】:2017-02-08 13:58:45
【问题描述】:
我已经安装了 brew 版本的 postgres 和 docker。 按照链接 https://github.com/DiUS/pact_broker-docker/blob/master/POSTGRESQL.md 中的步骤创建一个 dockerised pact broker 和 postgres。
当我运行第一个命令时,容器被错误创建:
docker run --name pactbroker-db -e POSTGRES_PASSWORD=ThePostgresPassword -e POSTGRES_USER=admin -e PGDATA=/var/lib/postgresql/data/pgdata -v /var/lib/postgresql/data:/var/lib/postgresql/data -d postgres
回复:
b8a2007e5dac9554e0ac615147d74467ceb6043dba027a4a21388721cee8f34c
docker: Error response from daemon: Mounts denied:
The path /var/lib/postgresql/data
is not shared from OS X and is not known to Docker.
You can configure shared paths from Docker -> Preferences... -> File Sharing...
通过删除绑定卷选项以某种方式绕过了第一步:
docker run --name pactbroker-db -e POSTGRES_PASSWORD=ThePostgresPassword -e POSTGRES_USER=admin -e PGDATA=/var/lib/postgresql/data/pgdata -d postgres
在指定的链接中成功执行了 2 和 3 步: (2)连接容器并通过以下方式执行psql: (3)通过以下方式启动 PactBroker 容器:
在此之后,尝试使用以下命令卷曲 json:
curl -v -XPUT -H “Content-Type: application/json” -d @/HelloWorldConsumer-HelloWorldProvider.json http://localhost/pacts/provider/HelloWorldProvider/consumer/HelloWorldConsumer/version/1.0
得到以下响应...
Could not resolve host: application
* Closing connection 0
curl: (6) Could not resolve host: application
* Trying ::1...
* connect to ::1 port 80 failed: Connection refused
* Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 80 (#1)
> PUT /pacts/provider/HelloWorldProvider/consumer/HelloWorldConsumer/version/1.0 HTTP/1.1
> Host: localhost
> User-Agent: curl/7.49.1
> Accept: */*
> Content-Length: 756
> Content-Type: application/x-www-form-urlencoded
>
* upload completely sent off: 756 out of 756 bytes
< HTTP/1.1 415 Unsupported Media Type
< Content-Type: application/json;charset=utf-8
< Content-Length: 0
< Connection: keep-alive
< Status: 415 Unsupported Media Type
< Date: Tue, 07 Feb 2017 17:08:40 GMT
< Server: Webmachine-Ruby/1.4.0 Rack/1.2
< X-Powered-By: Phusion Passenger 5.0.15
<
* Connection #1 to host localhost left intact
不确定它是成功还是失败,正如第一行所说...“无法解析主机:应用程序”和“正在关闭连接”
当我尝试查看本地主机时,它显示为空白。 附上截图。 尽早寻求帮助!提前谢谢...
【问题讨论】:
-
这显然不是一个协议问题,而是一个 docker 问题,特别是围绕 Postgres SQL 服务器。除非您想将问题更改为特定于 Pact 的问题,否则我将将此问题报告为不相关。
-
谢谢!编辑并添加标签到 docker/Postgres
-
谢谢。如果你问的是不同的观众,我可能会重新措辞一下这个问题,这样他们就不会对协议感到困惑。
-
好的,没问题!
标签: postgresql docker