gpt4 book ai didi

docker - 无法在Docker和Rancher上运行启动脚本

转载 作者:行者123 更新时间:2023-12-02 19:07:17 39 4
gpt4 key购买 nike

我正在尝试让wso2在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

在这两种情况下, docker 都会停止并显示错误说明:
Need to restart service reconcile
Expected state running but got stopped

如何运行?我做错了什么?

最佳答案

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

  • 不要使用启动命令。只需执行wso2server.sh。
  • 将启动命令与wso2server.sh文件一起使用,并按如下所示尾部wso2carbon.log。

  • tail -f /repository/logs/wso2carbon.log

    关于docker - 无法在Docker和Rancher上运行启动脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48443051/

    39 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com