我确实在docker上构建了orientDB和appserver。它们也在运行。这是docker上的列表容器:
core@localhost ~ $ docker ps
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS
NAMES
01abef0204a7 fxrialab/appserver:latest /usr/sbin/httpd -D F 30 minute
s ago Up 30 minutes 0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp
appserver
f6d0631bb092 fxrialab/orient:latest /bin/sh -c cd /opt/o 30 minute
s ago Up 30 minutes 0.0.0.0:2424->2424/tcp, 0.0.0.0:2480->2480/tcp
appserver/db,orient
ebc1386250b9 fxrialab/data:latest /usr/sbin/sshd -D 30 minute
s ago Up 30 minutes 0.0.0.0:2200->22/tcp
data
我也在orientDB上创建了数据库。我认为东方运作良好。但是当我登录我的网站时。我收到错误"连接被拒绝"像这样:
套接字错误#111:拒绝连接
•vendors / OrientDB / OrientDB.php:254 OrientDBSocket-> __ construct(' localhost',' 2424',30)
•apps / models / DB.php:11 OrientDB-> __ construct(' localhost',' 2424')
当我启用server.bat文件时,我不知道我在本地测试的原因是什么原因。啊,我使用的是orientdb-1.7
感谢提前!
答案 0 :(得分:1)
localhost是ip地址127.0.0.1的同义词
你的绑定是0.0.0.0
我不熟悉OrientDB,但我相信你所面临的是端口访问问题(服务器配置),而不是软件问题(在这种情况下,软件是OrientDB)。大多数服务器都配置为阻止所有端口,除非特别允许 - 出于安全原因,以便没有人可以连接到这些阻塞端口上的服务器。
因此,可能发生的事情是您的本地服务器使用这些端口很好,并且远程服务器是安全的,因此阻止了连接。
答案 1 :(得分:1)
Docker正在为每个容器运行一个具有单独网络接口的虚拟机。因此,如果您的appserver连接到localhost,它将不会看到orientdb。
您需要更新配置以查找链接的正确环境变量(请参阅http://docs.docker.com/userguide/dockerlinks/)或仅使用db
主机。 Docker为每个链接容器注入/etc/hosts
主机名。
答案 2 :(得分:0)
我找到了这个问题的原因,因为我配置HOST来连接是错误的。它不是localhost
,因为docker使用自己的内部IP。在ssh类型docker inspect orient
中,然后使用全局变量进行配置以访问IP&端口。