在我的docker-compose中:
laravel:
image: trackware
links:
- postgis:postgis
ports:
- "80:80"
- "3306:3306"
- "443:443"
- "220:22"
- "8000:8000"
net: "host"
restart: always
volumes:
- C:/H/repositories/pubnub:/share
container_name: laravel
postgis:
image: mdillon/postgis
env_file: .postgis_env
ports:
- "9090:9000"
- "54320:5432"
container_name: postgis
如果我运行docker-compose up -d
,我会收到此错误:
Conflicting options: host type networking can't be used with links. This would result in undefined behavior
那么,在链接到postgis容器时如何使用net: "host"
?
laravel容器需要运行pubnub客户端,这需要高性能网络来实现实时消息处理,还需要链接到postgis
容器来访问db。
那么,有什么建议吗?我正在使用docker 1.10.2
答案 0 :(得分:5)
由于您将postgis端口暴露给主机,因此您可以跳过链接并通过localhost:9000连接到它。我相信这会有效,因为laravel应用程序驻留在主机网络中,并且它们将共享这些端口。
答案 1 :(得分:0)
我不知道但是......你不应该使用" host"驱动程序和端口映射,至少你不会得到预期的结果。在这种情况下" 220:22"你将22端口映射到主机。
"净"据我所知,已经过时了,使用" network_mode"代替。 另外我建议你将docker-compose更新到最新版本,现在是1.6.2。以前的版本存在一些网络问题。
您可以使用" bridge"驱动程序?在您的情况下,我无法看到无法解决的问题。