我使用以下docker compose文件启动basexhttp服务器和dba:
version: '3' services: basexhttp: image: basex/basexhttp ports: - "1984:1984" - "8984:8984" dba: image: basex/dba:8.5.4 ports: - "11984:1984" - "18984:8984" - "18985:8985"
根据文档,我应该使用以下方法获得dba页面:
http://<host>:18984/dba
。
返回No function found that matches the request.
如何使它工作?
答案 0 :(得分:1)
您好bergtwvd-很抱歉,您的示例有点过时了,我们不再维护单独的basex / dba映像-主要是由于我们的DBA不再支持连接到远程basex实例。
我认为最好的方法是根据包含DBA代码的“官方” basexhttp映像构建您自己的映像:
# Dockerfile
FROM basex/basexhttp:9.1
MAINTAINER BaseX Team
ADD ./webapp /srv/basex/webapp
basex.zip
中包含的webpapp文件夹复制到Dockerfile所在的文件夹中# docker build
docker build -t mydba .
Sending build context to Docker daemon 685.6kB
Step 1/3 : FROM basex/basexhttp:latest
---> c9efb2903a40
Step 2/3 : MAINTAINER BaseX Team
---> Using cache
---> 11228f6d7b17
Step 3/3 : COPY webapp /srv/basex/
---> Using cache
---> d209f033d6d9
Successfully built d209f033d6d9
Successfully tagged mydba:latest
您最好将这种技术与docker-compose结合使用:
#docker-compose.yml
version: '3'
services:
dba:
build:
context: .
dockerfile: Dockerfile
ports:
- "8984:8984"
您现在应该可以打开http://localhost:8984并访问DBA。
希望这会有所帮助。