下午好,我已经尝试让我的数据持久化,对于docker的wso 2 API管理器,但是我没有成功,尽管我去了文档给我的路径:
https://apim.docs.wso2.com/en/4.0.0/install-and-setup/setup/reference/common-runtime-and-configuration-artifacts/#persistent-runtime-artifacts
我已经创建了一个docker-compose.yml文件,在其中我定义了卷,我尝试了各种路径,但是,我无法获得任何结果。这是我的文件(注解的路径,是我尝试的路径,但仍然获得相同的结果):
networks:
BeegonsFiware:
driver: bridge
services:
web:
build: ./dockerfiles/python
ports:
- "5000:5000"
hostname: web
expose:
- "5000"
networks:
- BeegonsFiware
redis:
image: "redis:alpine"
api-manager:
build: ./dockerfiles/apim
volumes:
- '/home/franklin/Escritorio/composetest/dockerfiles/apim/server/:/wso2am-4.0.0/repository/deployment/server/'
- '/home/franklin/Escritorio/composetest/dockerfiles/apim/tenants/:/wso2am-4.0.0/repository/tenants/'
- '/home/franklin/Escritorio/composetest/dockerfiles/apim/database/:/wso2am-4.0.0/database/'
# - wso2:/wso2am-4.0.0/
# - /home/franklin/Escritorio/composetest/dockerfiles/apim/backup/:/wso2am-4.0./
# - wso2:/wso2am-4.0.0/repository/deployment/server/
# Otras Pruebas
# - '/home/franklin/Escritorio/composetest/dockerfiles/apim/userstores/:/wso2am-4.0.0/repository/deployment/server/userstores/'
# - '/home/franklin/Escritorio/composetest/dockerfiles/apim/resources/:/wso2am-4.0.0/repository/resources/'
# - '/home/franklin/Escritorio/composetest/dockerfiles/apim/conf/:/wso2am-4.0.0/repository/conf/'
# - '/home/franklin/Escritorio/composetest/dockerfiles/apim/bin/:/wso2am-4.0.0/bin/'
ports:
- "9443:9443"
- "8280:8280"
- "8243:8243"
networks:
- BeegonsFiware
volumes:
wso2:
执行docker compose up会创建我为要存储的卷定义的文件夹,但不会保存任何数据。
Docker合成前的文件夹:
https://ibb.co/nMjysWJ
docker合成后的文件夹(为空文件夹):
https://ibb.co/c3D9K2S
文件夹已创建,但未保存任何数据。
然后我在API管理器中创建API,但是当Docker compose down然后Docker compose up时,所有API都丢失了。
这些是我的规格:
- Ubuntu 22.04.2语言版本
- Docker版本23.0.1,构建版本a5 ee 5 b1
- WSO 2 API管理器:4.0.0
我所期望的结果是复制所有这些文件:
首先,我输入容器:docker exec -it <ID_CONTAINER> bash
我转到以下文件夹:
/home/wso2carbon/wso2am-4.0.0/repository/deployment/server
以下是我想保存的文件:
- 工件图元文件
- 事件发布者
- 执行计划
- 网络应用程序
- axis2modules
- 事件接收器
- jaggeryapps
- axis2services
- 事件流
- 突触配置
在我的计算机上的以下文件夹中:
/home/franklin/Desktop/composetest/dockerfiles/apim/server
1条答案
按热度按时间0x6upsns1#
正确的路径是以下而不是
/wso2am-4.0.0/repository
。此外,在启动服务器之前,您可能必须将默认API Manager分发版中的内容复制到这些目录中,否则您将挂载一个空目录。此外,不要挂载不必要的文件夹,因为这会影响性能,特别是当您的挂载位于NFS等位置时。