gpt4 book ai didi

kubernetes - Docker 多阶段

转载 作者:行者123 更新时间:2023-12-02 11:52:22 25 4
gpt4 key购买 nike

是否可以将多阶段 Dockerfile 的一个阶段复制到另一个阶段?

由于各种业务原因,我被指示使用多阶段 Dockerfile,但我真正需要做的是将 appserver 镜像和 webserver 镜像结合起来。这在 docker-compose 中很好,因为您可以引用每个部分 - 但我不确定这是否可以通过 GCP 和 Kubernetes 完成。

我的 Dockerfile 代码如下。

FROM php:7.1-fpm as appserver

RUN apt-get update && apt-get install -y libpq-dev \
&& docker-php-ext-install pdo pdo_pgsql pgsql
RUN apt-get update && \
apt-get install -y \
zlib1g-dev \
&& docker-php-ext-install zip

COPY ./app /var/www/html

FROM nginx:stable-alpine as webserver
COPY ./app /var/www/html/
COPY vhost-prod.conf /etc/nginx/conf.d/default.conf

最佳答案

不确定,您想通过上面的 Dockerfile 实现什么。

  • 多阶段构建不是为了上述目的
  • 你不能在多阶段构建中抛出任何问题并解决它
  • 多阶段构建是构建二进制文件/代码并将其复制到最终镜像,这样您就不会将开发工具带入生产

  • 对于您的用例,请制作两个 docker 文件,一个用于应用程序,另一个用于代理/nginx,独立构建它们并独立运行/扩展它们。

    如果从 nginx 提供静态内容,您只需要运行带有静态内容卷挂载的 nginx。

    关于kubernetes - Docker 多阶段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52988192/

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