有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java需要澄清Dockerfile中的命令吗?

我正试图通过开源Dkron调度程序运行jar文件。我需要修改docker文件以在容器中安装java。请澄清复制命令在这里的含义

FROM golang:1.14
LABEL maintainer="Victor Castell <victor@victorcastell.com>"

EXPOSE 8080 8946

RUN mkdir -p /app
WORKDIR /app

ENV GO111MODULE=on
COPY go.mod go.mod
COPY go.sum go.sum            #here
RUN go mod download

COPY . .
RUN go install ./...

CMD ["dkron"]

它还有dockerfile。包含此项的集线器

FROM alpine
MAINTAINER Victor Castell <victor@victorcastell.com>

ENV DKRON_VERSION 0.11.0

RUN set -x \
    && buildDeps='bash ca-certificates openssl' \
    && apk add --update $buildDeps \
    && rm -rf /var/cache/apk/* \
    && mkdir -p /opt/local/dkron \
    && wget -O /opt/local/dkron/dkron.tar.gz https://github.com/victorcoder/dkron/releases/download/v${DKRON_VERSION}/dkron_${DKRON_VERSION}_linux_amd64.tar.gz \
    && cd /opt/local/dkron \
    && tar -xzf dkron.tar.gz \
    && rm /opt/local/dkron/dkron.tar.gz

EXPOSE 8080 8946

ENV SHELL /bin/bash
WORKDIR /opt/local/dkron

ENTRYPOINT ["/opt/local/dkron/dkron"]

CMD ["--help"]

还需要做哪些更改才能使java文件在容器中运行?多谢各位


共 (2) 个答案

  1. # 2 楼答案

    Please clarify me what copy command means here ...

    COPY . .
    

    复制步骤从构建上下文中获取文件,并将其复制到生成图像的一层中。构建上下文作为build命令中的一个参数从客户机传递到docker引擎,通常是一个.,指示当前目录作为构建上下文发送

    您可以在多阶段构建期间将源代码更改为另一个阶段,从而允许您将构建工件从编译器环境转移到希望部署的运行时环境。你可以改变它,从另一个图像中提取文件。这两项都是通过复制步骤的 from选项完成的

    请注意,此命令仅以一种方式工作,目标始终是您正在构建的映像,并且由于源在历史上始终是构建上下文,因此语法中不包括源和目标上的范围。例如,docker将COPY build-context:. container:.缩短为COPY . .

    文档中的重要链接: