我正在尝试制作一个java项目的docker镜像。我首先创建了一个目录,并在其中创建了一个docker.txt文件。文件包含此
FROM java:8
# Install maven
RUN apt-get update
RUN apt-get install -y maven
WORKDIR /home/mmt/CouchBaseClient/CB-RestAPI/CouchBaseThinClient
# Prepare by downloading dependencies
ADD pom.xml /home/mmt/CouchBaseClient/CB-RestAPI/CouchBaseThinClient/pom.xml
RUN ["mvn", "dependency:resolve"]
RUN ["mvn", "verify"]
# Adding source, compile and package into a fat jar
ADD src /home/mmt/CouchBaseClient/CB-RestAPI/CouchBaseThinClient/src
RUN ["mvn", "package"]
EXPOSE 4567
CMD ["/usr/lib/jvm/java-8-openjdk-amd64/bin/java", "-jar", "target/sparkexample-jar-with-dependencies.jar"]
然后我在终端中运行以下命令
docker build -t API .
我收到以下错误
invalid value "API" for flag -t: Error parsing reference: "API" is not a valid repository/tag
See 'docker build --help'.
答案 0 :(得分:4)
Docker抱怨“API”,因为不允许使用大写的一个或多个字符标记名称:
$ docker build -t FOO .
repository name component must match "[a-z0-9](?:-*[a-z0-9])*(?:[._][a-z0-9](?:-*[a-z0-9])*)*"
构建Docker镜像的“配方”通常写在一个名为Dockerfile的文件中,无论如何你可以使用-f
选项继续使用docker.txt:
docker build -f docker.txt -t api .