我已经在 VirtualBox 中的 Ubuntu 18.04 上安装了 Docker 和 Bitbucket,规格如下:
docker run \
-e JDBC_DRIVER=org.postgresql.Driver \
-e JDBC_USER=bitbucket \
-e JDBC_PASSWORD=bitbucket \
-e JDBC_URL=jdbc:postgresql://192.168.56.139:5432/bitbucket \
-v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket \
--name="bitbucket" \
-d -p 7990:7990 -p 7999:7999 \
atlassian/bitbucket-server
目前,我已经安装了 Postgresql,为 bitbucket 创建了一个数据库和一个用户名。我在 pg_hba.conf 中添加了以下几行:
host all all 127.0.0.1/32 md5
host all all 192.168.56.139/32 md5
host all all 172.17.0.2/32 md5
我不确定是否应该在那里添加容器的 IP 地址,但我还是添加了。在 postgresql.conf 中,我编辑了以下行:
listen_address = '*'
启动容器后,我在浏览器中收到以下错误消息:
The database, as currently configured, is not accessible.
Connection to 192.168.56.139:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
我没有在此虚拟机上设置任何 iptables 规则。但是,我得到数据库无法访问的信息。
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy DROP)
target prot opt source destination
DOCKER-USER all -- anywhere anywhere
DOCKER-ISOLATION-STAGE-1 all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain DOCKER (2 references)
target prot opt source destination
ACCEPT tcp -- anywhere 172.17.0.2 tcp dpt:7999
ACCEPT tcp -- anywhere 172.17.0.2 tcp dpt:7990
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
target prot opt source destination
DOCKER-ISOLATION-STAGE-2 all -- anywhere anywhere
DOCKER-ISOLATION-STAGE-2 all -- anywhere anywhere
RETURN all -- anywhere anywhere
Chain DOCKER-ISOLATION-STAGE-2 (2 references)
target prot opt source destination
DROP all -- anywhere anywhere
DROP all -- anywhere anywhere
RETURN all -- anywhere anywhere
Chain DOCKER-USER (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
telnet 192.168.56.139 5432
Trying 192.168.56.139...
telnet: Unable to connect to remote host: Connection refused
知道可以做什么吗?
谢谢,乔治