我试图让raso2在Rancher上的docker上运行。我创建了以下dockerfile:
FROM wso2/wso2base:latest
RUN apt-get update && \
apt-get upgrade -y && \
apt-get install default-jdk -y && \
apt-get clean
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/jre/
ENV PATH ${JAVA_HOME}/bin:${PATH}
ENV CARBON_HOME /opt/wso2is
它被上传到github。我有一个docker-compose.ym文件,其中包含以下内容:
version: '2'
services:
wso2is:
build: <github-url>/wsois
stdin_open: true
tty: true
ports:
- 9443:9443/tcp
- 9763:9763/tcp
labels:
io.rancher.container.pull_image: always
volumes:
- /home/dockserver/stacks/inclouding/volume/wso2is:/opt/wso2is
使服务器正常工作的唯一剩余步骤是运行启动脚本。如果我运行它访问docker bash它完美地启动:
docker exec -it "676d5bc5cf18" bash
/opt/wso2is/bin/wso2server.sh start
我尝试使用CMD在dockerfile中启动它:
CMD /opt/wso2is/bin/wso2server.sh start
或在docker-compose中:
command:
- /opt/wso2is/bin/wso2server.sh
- start
在这两种情况下,泊坞窗停止并显示错误说明:
Need to restart service reconcile
Expected state running but got stopped
如何让它运行?我做错了什么?
答案 0 :(得分:2)
在命令末尾使用start命令(./wso2server.sh start)时,wso2server.sh文件在后台启动服务器,它是wso2server.sh脚本执行的结束。您可以执行以下操作来解决此问题。
tail -f /repository/logs/wso2carbon.log