docker - 无法使用ENTRYPOINT Docker运行script.sh

标签 docker docker-compose dockerfile

我有以下脚本:

echo "** Creating data volume."
docker volume create --name sData

echo "** Build the java image that will be used to compile a Java class."
docker build -t bh/java:1.0 ./Java

echo "** Run the Java container to compile a Java class."
docker run --name "java-compile" -v sData:/usr/src/data bh/java:1.0

在Java文件夹中,我具有以下Dockerfile:
FROM openjdk:7 AS build-env

# Copy java file to compile and run
COPY ./Main.java /usr/src/myapp/Main.java

WORKDIR /usr/src/myapp

RUN ls -al

# Copy script.sh to root folder
COPY ./script.sh /usr/src/data/script.sh

RUN chmod 777 /usr/src/data/script.sh

ENTRYPOINT ["sh", "/usr/src/data/script.sh"]

和script.sh文件:
#!bin/sh

# Go to myapp
cd /usr/src/myapp

#echo "Listing all files in directory - myapp"
ls -al

#echo "Compiling the java class"
javac Main.java

# Move the .class file
echo "Moving Main.class to /usr/data/Main.class"
mv /usr/src/myapp/Main.class /usr/src/data/Main.class

cd /usr/src/data

#echo "Listing all files in directory - data"
ls -al

当我如上所述运行容器时,出现以下错误:
: not foundta/script.sh: 2: /usr/src/data/script.sh: 's: invalid option -- ' Try 'ls --help' for more information. : not foundta/script.sh: 4: /usr/src/data/script.sh: : not foundta/script.sh: 5: /usr/src/data/script.sh: : not foundta/script.sh: 8: /usr/src/data/script.sh: : not foundta/script.sh: 11: /usr/src/data/script.sh: : not foundta/script.sh: 14: /usr/src/data/script.sh: : not foundta/script.sh: 18: /usr/src/data/script.sh: : not foundta/script.sh: 20: /usr/src/data/script.sh:

最佳答案

另一个问题可能是在“复制”命令之前放置了“WORKDIR”。
由于当前目录已更改为/ usr / src / myapp,并在./中复制搜索文件
如果您的dockerfile和脚本位于同一文件夹中,则只需将其命名为“COPY script.sh / usr / src / data”

关于docker - 无法使用ENTRYPOINT Docker运行script.sh,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47414253/

相关文章:

jenkins - 如何在作为容器运行的 Jenkins 中运行 Docker

Dockerignore : Ignore everything except a file and the Dockerfile

docker - 如何更改Docker镜像开始

docker - 无法创建Docker容器

docker - 不存在或没有拉取权限(Docker撰写)

docker - 使用 node-sass 和 docker-compose

python-3.x - 在Docker文件中设置mysql-connector-python

docker - 从Docker容器访问主机DNS

docker - 已成功安装magento2,但未找到管理页面抛出错误

docker - 如何找到Docker URL?