gpt4 book ai didi

postgresql - 如何配置 docker 和 postgres 以使用 pact broker

转载 作者:行者123 更新时间:2023-11-29 13:50:23 24 4
gpt4 key购买 nike

localhost to view pacts

我已经安装了 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...

通过删除绑定(bind)卷选项设法绕过第一步:

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容器:

在此之后,尝试使用以下命令 curl 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

不确定第一行是成功还是失败...“无法解析主机:应用程序”和“关闭连接”

当我试图查看本地主机时,它显示为空白。附上截图。尽早寻求帮助!!提前致谢...

最佳答案

您似乎正试图在您的主机 (/var/lib/postgresql/data) 上安装一个不存在的卷。

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.

消息清楚地说明了这一点。你应该read more关于 docker volumes,但如果这是为了在你的 Mac 上进行开发,我建议你挂载另一个目录。

其次,您可以看到上传时出现“不受支持的媒体类型”,因此肯定失败了:

HTTP/1.1 415 Unsupported Media Type

似乎没有正确设置 Content-Type,您可以在输出中看到这一点:

Content-Type: application/x-www-form-urlencoded

请检查该文件是否确实存在于路径 /HelloWorldConsumer-HelloWorldProvider.json 中,它是一个有效的 JSON 文件,并且您的内容类型 header 格式正确(看起来是)。

关于postgresql - 如何配置 docker 和 postgres 以使用 pact broker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42096121/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com