我有一个简单的Spring Dockerfile:
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE=target/chatbot-2.4.3.jar
COPY ${JAR_FILE} /opt/sprintbotserver/chatbot.jar
COPY . /opt/sprintbotserver
ENTRYPOINT ["java","-jar","./opt/sprintbotserver/chatbot.jar"]
我正在通过docker-compose.yml
进行部署:
version: "3"
services:
sprintbotserver:
container_name: sprintbotserver
image: sprintbotserver:latest
volumes:
- "./logs:/logs"
- "./chatbots:/chatbots"
- "./config:/config"
- "./db:/db"
- "./demo:/demo"
- "./dic:/dic"
- "./lib:/lib" //this line causes error
- "./models:/models"
- "./service:/service"
ports:
- "8080:8080"
我已经在令人烦恼的一行上发表了评论。除这一卷外,所有卷均按预期工作。添加此行后,我得到standard_init_linux.go:211: exec user process caused "no such file or directory"
。
有人可以帮忙吗?
答案 0 :(得分:0)
/lib
是Linux中的标准目录,包含系统的重要部分;在上面安装其他任何东西可能会使几乎所有内容崩溃。
您可以(a)使用其他目录名称,还是(b)在子目录中运行整个程序(例如/opt
,然后再使用./lib:/opt/lib
)?
答案 1 :(得分:0)
好的,我缺少的关键字是WORKDIR:)