做裝修公司網(wǎng)站百度應(yīng)用商店下載安裝
長(zhǎng)安鏈?zhǔn)褂胹dk_config.yml的形式來(lái)引入用戶的各種證書文件,
但是打成jar包部署在服務(wù)器上會(huì)提示找不到文件。
由于國(guó)內(nèi)對(duì)鏡像的限制,我選用了阿里的龍蜥鏡像,里面提供java1.8的環(huán)境,因?yàn)殚L(zhǎng)安鏈要1.8的環(huán)境
docker pull ?anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/openjdk:8-8.6
解決方案就是制作成docker鏡像,將證書掛載出來(lái),同時(shí)映射到容器。
步驟1
創(chuàng)建一個(gè)Dockerfile文件,內(nèi)容如下:
# 使用指定的基礎(chǔ)鏡像
FROM anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/openjdk:8-8.6# 創(chuàng)建一個(gè)目錄來(lái)存放應(yīng)用程序
WORKDIR /app# 復(fù)制JAR文件
COPY demo-0.0.1-SNAPSHOT.jar /app/demo-0.0.1-SNAPSHOT.jar# 暴露應(yīng)用程序運(yùn)行的端口(假設(shè)你的應(yīng)用程序運(yùn)行在8080端口)
EXPOSE 8080# 運(yùn)行JAR文件
ENTRYPOINT ["java", "-jar", "/app/demo-0.0.1-SNAPSHOT.jar"]
demo-0.0.1-SNAPSHOT.jar是我jar包的名稱
第一行 是java環(huán)境
步驟2 :構(gòu)建Docker鏡像:
docker build -t fed_chain .
fed_chain是我鏡像的名字
步驟3:運(yùn)行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:是容器內(nèi)部的路徑
也就是說(shuō)如果訪問/app/crypto-config/certs,就會(huì)去我的外部文件找
步驟4:? 檢查容器內(nèi)文件
進(jìn)入容器并檢查文件:
docker exec -it <CONTAINER ID> /bin/bash
ls /app/crypto-config/certs/user/cmtestuser1/
查看運(yùn)行時(shí)日志
實(shí)時(shí)查看:
docker logs -f 容器id
不實(shí)時(shí)查看
docker logs 容器ID