长安链java-sdk打成jar包部署找不到配置文件,springBoot项目制作Docker镜像

长安链使用sdk_config.yml的形式来引入用户的各种证书文件,

但是打成jar包部署在服务器上会提示找不到文件。

由于国内对镜像的限制,我选用了阿里的龙蜥镜像,里面提供java1.8的环境,因为长安链要1.8的环境

docker pull  anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/openjdk:8-8.6

解决方案就是制作成docker镜像,将证书挂载出来,同时映射到容器。

步骤1

创建一个Dockerfile文件,内容如下:

# 使用指定的基础镜像
FROM anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/openjdk:8-8.6

# 创建一个目录来存放应用程序
WORKDIR /app

# 复制JAR文件
COPY demo-0.0.1-SNAPSHOT.jar /app/demo-0.0.1-SNAPSHOT.jar

# 暴露应用程序运行的端口(假设你的应用程序运行在8080端口)
EXPOSE 8080

# 运行JAR文件
ENTRYPOINT ["java", "-jar", "/app/demo-0.0.1-SNAPSHOT.jar"]

demo-0.0.1-SNAPSHOT.jar是我jar包的名称

第一行 是java环境

步骤2 :构建Docker镜像:

docker build -t fed_chain .

fed_chain是我镜像的名字

步骤3:运行Docker容器并挂载本地文件

docker run -d -p 8080:8080 -v /home/management-backend/test_chain/release/TestCMorg1-cmtestnode1/config/TestCMorg1/certs:/app/crypto-config/certs fed_chain

/home/management-backend/test_chain/release/TestCMorg1-cmtestnode1/config/TestCMorg1/cert/是我本地文件的路径


/app/crypto-config/certs:是容器内部的路径

也就是说如果访问/app/crypto-config/certs,就会去我的外部文件找

步骤4:  检查容器内文件

进入容器并检查文件:

docker exec -it  /bin/bash
ls /app/crypto-config/certs/user/cmtestuser1/

查看运行时日志

实时查看:

docker logs -f  容器id

不实时查看

docker logs 容器ID

你可能感兴趣的:(长安链,JAVA基础知识,#,Docker,java,jar,开发语言,长安链)