gpt4 book ai didi

docker - 使用 Docker 自动构建的多镜像

转载 作者:行者123 更新时间:2023-12-02 19:05:49 26 4
gpt4 key购买 nike

我将我的 hub.docker.com 帐户与 bitbucket.org 链接以进行自动构建。在我的存储库的核心文件夹中存在 Dockerfile,它位于 2 个镜像构建步骤中。如果我在本地(我的意思是在 Windows 中)构建基于相同 Dockerfile 的图像,我会得到 2 个不同的图像。但是,如果我将使用 hub.docker.com 进行构建,则只会保存最后一个图像并标记为“最新”。

Dockerfile:

#-------------First image ----------
FROM nginx

#-------Adding html files
RUN mkdir /usr/share/nginx/s1
COPY content/s1 /usr/share/nginx/s1
RUN mkdir /usr/share/nginx/s2
COPY content/s2 /usr/share/nginx/s2

# ----------Adding conf file
RUN rm -v /etc/nginx/nginx.conf
COPY conf/nginx.conf /etc/nginx/nginx.conf

RUN service nginx start


# ------Second image -----------------
# Start with a base image containing Java runtime
FROM openjdk:8-jdk-alpine

# Add a volume pointing to /tmp
VOLUME /tmp

# Make port 8080 available to the world outside this container
EXPOSE 8080

# The application's jar file
ARG JAR_FILE=jar/testbootstap-0.0.1-SNAPSHOT.jar

# Add the application's jar to the container
ADD ${JAR_FILE} test.jar

# Run the jar file
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/test.jar"]

以前有人这样做过还是不可能?

PS:免费使用的私有(private)仓库只有一个,可能是主要原因。

最佳答案

每当您指定第二个 FROM在您的 Dockerfile 中,您开始创建一个新镜像。这就是为什么您只看到最后一张图像被保存和标记的原因。

您可以通过创建多个 Dockerfile 来完成您想要的,即通过在其 Dockerfile 中创建第一个图像,然后使用它来创建第二个图像 - 所有这些都使用 docker-compose协调容器之间的关系。

关于docker - 使用 Docker 自动构建的多镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52697653/

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