docker-compose - docker-compose up 命令设置了两次环境变量
问题描述
我在我的 yaml 文件中定义了一个环境变量 JAVA_TOOL_OPTIONS。当我使用命令“docker-compose -f up”启动容器时,出现以下错误:
拾取 JAVA_TOOL_OPTIONS: -agentlib:jdwp=transport=dt_socket,address=8010,server=y,suspend=n 在地址监听传输 dt_socket: 8010 拾取 JAVA_TOOL_OPTIONS: -agentlib:jdwp=transport=dt_socket,address=8010,server =y,suspend=n 错误:无法两次加载此 JVM TI 代理,请检查您的 java 命令行是否有重复的 jdwp 选项。初始化 VM 代理库时出错无法初始化:jdwp
看起来 JAVA_TOOL_OPTIONS 设置了两次。任何帮助将不胜感激
下面是我的 .yaml 文件:
version: '3.1'
services:
blumeglobal:
build:
context: .
dockerfile: Dockerfile
image: corda-3.2
environment:
- JAVA_OPTIONS=-Xmx512m
ports:
- "10003:10003"
- "10004:10004"
- "10005:10005"
image: corda:3.2
container_name: blumeglobal
volumes:
- ./build/nodes/BlumeGlobal/network-parameters:/opt/corda/network-parameters
- ./build/nodes/BlumeGlobal/persistence.mv.db:/opt/corda/persistence.mv.db
- ./build/nodes/BlumeGlobal/additional-node-infos/:/opt/corda/additional-node-infos/
- ./build/nodes/BlumeGlobal/node.conf:/opt/corda/node.conf
- ./build/nodes/BlumeGlobal/cordapps/:/opt/corda/cordapps/
- ./build/nodes/BlumeGlobal/certificates/:/opt/corda/certificates/
networks:
- mynetwork
bestbuy:
build:
context: .
dockerfile: Dockerfile
environment:
- JAVA_OPTIONS=-Xmx512m
ports:
- "10012:10002"
- "10013:10003"
- "10014:10004"
- "10015:10015"
image: corda:3.2
container_name: bestbuy
volumes:
- ./build/nodes/Bestbuy/network-parameters:/opt/corda/network-parameters
- ./build/nodes/Bestbuy/persistence.mv.db:/opt/corda/persistence.mv.db
- ./build/nodes/Bestbuy/additional-node-infos/:/opt/corda/additional-node-infos/
- ./build/nodes/Bestbuy/node.conf:/opt/corda/node.conf
- ./build/nodes/Bestbuy/cordapps/:/opt/corda/cordapps/
- ./build/nodes/Bestbuy/certificates/:/opt/corda/certificates/
depends_on:
- blumeglobal
networks:
- mynetwork
expeditors:
build:
context: .
dockerfile: Dockerfile
environment:
- JAVA_OPTIONS=-Xmx512m
- JAVA_TOOL_OPTIONS=-agentlib:jdwp=transport=dt_socket,address=8010,server=y,suspend=n
ports:
- "10022:10002"
- "10023:10003"
- "10024:10004"
- "10025:10025"
- "8010:8010"
image: corda:3.2
container_name: expeditors
volumes:
- ./build/nodes/Expeditors/network-parameters:/opt/corda/network-parameters
- ./build/nodes/Expeditors/persistence.mv.db:/opt/corda/persistence.mv.db
- ./build/nodes/Expeditors/additional-node-infos/:/opt/corda/additional-node-infos/
- ./build/nodes/Expeditors/node.conf:/opt/corda/node.conf
- ./build/nodes/Expeditors/cordapps/:/opt/corda/cordapps/
- ./build/nodes/Expeditors/certificates/:/opt/corda/certificates/
depends_on:
- blumeglobal
networks:
- mynetwork
motorcarrier:
build:
context: .
dockerfile: Dockerfile
environment:
- JAVA_OPTIONS=-Xmx512m
ports:
- "10032:10002"
- "10033:10003"
- "10034:10004"
- "10035:10035"
image: corda:3.2
container_name: motorcarrier
volumes:
- ./build/nodes/DTDC/network-parameters:/opt/corda/network-parameters
- ./build/nodes/DTDC/persistence.mv.db:/opt/corda/persistence.mv.db
- ./build/nodes/DTDC/additional-node-infos/:/opt/corda/additional-node-infos/
- ./build/nodes/DTDC/node.conf:/opt/corda/node.conf
- ./build/nodes/DTDC/cordapps/:/opt/corda/cordapps/
- ./build/nodes/DTDC/certificates/:/opt/corda/certificates/
depends_on:
- blumeglobal
networks:
- mynetwork
one:
build:
context: .
dockerfile: Dockerfile
environment:
- JAVA_OPTIONS=-Xmx512m
ports:
- "10042:10002"
- "10043:10003"
- "10044:10004"
- "10045:10045"
image: corda:3.2
container_name: one
volumes:
- ./build/nodes/ONE/network-parameters:/opt/corda/network-parameters
- ./build/nodes/ONE/persistence.mv.db:/opt/corda/persistence.mv.db
- ./build/nodes/ONE/additional-node-infos/:/opt/corda/additional-node-infos/
- ./build/nodes/ONE/node.conf:/opt/corda/node.conf
- ./build/nodes/ONE/cordapps/:/opt/corda/cordapps/
- ./build/nodes/ONE/certificates/:/opt/corda/certificates/
depends_on:
- blumeglobal
networks:
- mynetwork
cisco:
build:
context: .
dockerfile: Dockerfile
environment:
- JAVA_OPTIONS=-Xmx512m
ports:
- "10052:10002"
- "10053:10003"
- "10054:10004"
- "10055:10055"
image: corda:3.2
container_name: cisco
volumes:
- ./build/nodes/Cisco/network-parameters:/opt/corda/network-parameters
- ./build/nodes/Cisco/persistence.mv.db:/opt/corda/persistence.mv.db
- ./build/nodes/Cisco/additional-node-infos/:/opt/corda/additional-node-infos/
- ./build/nodes/Cisco/node.conf:/opt/corda/node.conf
- ./build/nodes/Cisco/cordapps/:/opt/corda/cordapps/
- ./build/nodes/Cisco/certificates/:/opt/corda/certificates/
depends_on:
- blumeglobal
networks:
- mynetwork
foxconn:
build:
context: .
dockerfile: Dockerfile
environment:
- JAVA_OPTIONS=-Xmx512m
ports:
- "10062:10002"
- "10063:10003"
- "10064:10004"
- "10065:10065"
image: corda:3.2
container_name: foxconn
volumes:
- ./build/nodes/Foxconn/network-parameters:/opt/corda/network-parameters
- ./build/nodes/Foxconn/persistence.mv.db:/opt/corda/persistence.mv.db
- ./build/nodes/Foxconn/additional-node-infos/:/opt/corda/additional-node-infos/
- ./build/nodes/Foxconn/node.conf:/opt/corda/node.conf
- ./build/nodes/Foxconn/cordapps/:/opt/corda/cordapps/
- ./build/nodes/Foxconn/certificates/:/opt/corda/certificates/
depends_on:
- blumeglobal
networks:
- mynetwork
toshiba:
build:
context: .
dockerfile: Dockerfile
environment:
- JAVA_OPTIONS=-Xmx512m
ports:
- "10072:10002"
- "10073:10003"
- "10074:10004"
- "10075:10075"
image: corda:3.2
container_name: toshiba
volumes:
- ./build/nodes/Toshiba/network-parameters:/opt/corda/network-parameters
- ./build/nodes/Toshiba/persistence.mv.db:/opt/corda/persistence.mv.db
- ./build/nodes/Toshiba/additional-node-infos/:/opt/corda/additional-node-infos/
- ./build/nodes/Toshiba/node.conf:/opt/corda/node.conf
- ./build/nodes/Toshiba/cordapps/:/opt/corda/cordapps/
- ./build/nodes/Toshiba/certificates/:/opt/corda/certificates/
depends_on:
- blumeglobal
networks:
- mynetwork
networks:
mynetwork:
external: true
下面是我的 Dockerfile
FROM openjdk:8u151-jre-alpine
# Override default value with 'docker build --build-arg BUILDTIME_CORDA_VERSION=version'
# example: 'docker build --build-arg BUILDTIME_CORDA_VERSION=1.0.0 -t corda/node:1.0 .'
ARG BUILDTIME_CORDA_VERSION=3.2-corda
ARG BUILDTIME_JAVA_OPTIONS
ENV CORDA_VERSION=${BUILDTIME_CORDA_VERSION}
ENV JAVA_OPTIONS=${BUILDTIME_JAVA_OPTIONS}
# Set image labels
LABEL net.corda.version = ${CORDA_VERSION} \
maintainer = "<blockchainservice@infosys.com>" \
vendor = "infosys"
RUN apk upgrade --update && \
apk add --update --no-cache bash iputils && \
rm -rf /var/cache/apk/* && \
# Add user to run the app && \
addgroup corda && \
adduser -G corda -D -s /bin/bash corda && \
# Create /opt/corda directory && \
mkdir -p /opt/corda/plugins && \
mkdir -p /opt/corda/logs
# Copy corda jar
ADD --chown=corda:corda https://dl.bintray.com/r3/corda/net/corda/corda/${CORDA_VERSION}/corda-${CORDA_VERSION}.jar /opt/corda/corda.jar
COPY run-corda.sh /run-corda.sh
RUN chmod 777 /opt/corda && chmod +x /run-corda.sh && \
sync && \
chown -R corda:corda /opt/corda
# Expose port for corda (default is 10002) and RPC
EXPOSE 10002
EXPOSE 10003
EXPOSE 10004
EXPOSE 10005 10015 10025 10035 10045 10055 10065 10075
# Working directory for Corda
WORKDIR /opt/corda
ENV HOME=/opt/corda
USER corda
# Start it
CMD ["/run-corda.sh"]
解决方案
为您的 dockerfile 尝试另一个基本 java 映像。(例如“来自 azul/zulu-openjdk:8u192”)
这是您尝试执行的操作的示例,您可以在此处找到:https ://github.com/EricMcEvoyR3/corda-docker-compose (您会注意到他甚至没有设置 JAVA_TOOL_OPTIONS 变量)
您还需要注意 Corda 中有一个 dockerform 任务可以为您生成任务:https ://docs.corda.net/docs/corda-os/4.4/generating-a-node.html#the-dockerform-任务
看起来您正在复制 dokcer-compose 文件中的正确信息,只需再看一下这些示例,看看您是否能够使其正常工作。
祝您在构建区块链的冒险中好运。
推荐阅读
- asp.net-core - ASP .Net Core Razor asp-page-handler 不工作
- fortran - 通过 gfortran 和 mingw 将 glfw 动态和静态链接到项目时出错
- angular - 函数缺少结束返回语句并且返回类型不包括“未定义”?
- javascript - 是否可以强制购物车中的另一个产品匹配第一个产品的数量?
- python - 无法使用 discord.py 发送 matplotlib 图片
- c++ - 使用 Boost C++ 库
- r - 替换 R 列中的值而不影响具有相同字符的单词
- python - 如何使用已经训练好的模型对记录进行分类?
- javascript - Express.js 中的 req.query 未定义
- python - 针对参数的不同值迭代函数