无法 运行 在 docker 和 rancher 上启动脚本

Can not run start script on docker and rancher

我正在尝试让 wso2 在 Rancher 上的 docker 上 运行ning。我创建了以下 docker 文件:

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 在 docker 文件中启动它:

CMD /opt/wso2is/bin/wso2server.sh start

或在 docker-compose:

command:
- /opt/wso2is/bin/wso2server.sh
- start

在这两种情况下,docker 都会停止并显示错误信息:

Need to restart service reconcile
Expected state running but got stopped

我怎样才能得到它 运行ning?我做错了什么?

当你在命令末尾使用启动命令(./wso2server.sh start)时,wso2server.sh文件在后台启动服务器,它是[=19=的结尾] 脚本执行。您可以执行以下操作来解决此问题。

  1. 不要使用启动命令。只需执行 wso2server.sh.
  2. 对 wso2server.sh 文件使用启动命令并按如下方式尾部 wso2carbon.log。

tail -f /repository/logs/wso2carbon.log