- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要构建一个 Docker 容器(感觉就像一个新手),它运行一个由 nginx Web 服务器作为前端的 Java 应用程序。由于不讨论的原因,我需要将它们放在一个容器中。
我想为此使用 Alpine。我发现两个图像都包含安装了 nginx 的 Alpine 和安装了 JDK 的 Alpine。我需要将两者结合起来。
我最好的行动方案是什么?从nginx容器开始加jdk还是从包含jdk的容器开始加nginx?
或者是否有组合 2 张图像的选项(这是个好主意)。
欢迎提供见解。
最佳答案
要创建组合图像,您可以遵循建议的路径之一:
Dockerfile
,并构建您自己的自定义图像。Dockerfile
从图像 1(更“复杂”的图像)中拉取,并添加图像 2 所需的命令。第二种方法是首选,因为您可以从已知良好的图像开始,而不必从头开始。另外,您可能只需要很少的改动。为此,两个图像应共享一个公共(public)基础图像,例如 alpine
。
检查 Nginx 和 Java OpenJDK Dockerfiles,您可以看到 Nginx Dockerfile相当复杂,有许多先决条件包和设置步骤,因此它会更适合基本图像。我的建议是,从 Nginx 基础镜像开始,在上面添加 Java。
如果您对 Alpile 存储库中可用的 JDK 版本感到满意,您的组合 Dockerfile
可能很简单:
FROM nginx:alpine
RUN apk add openjdk17
如果您需要一个特定的 Java 版本,它在 Alpine 存储库中不可用,通常需要下载压缩的 Alpine Java 发行版并解压缩它并相应地设置 JAVA_HOME
。例如,请参阅 OpenJDK 13 Alpine Dockerfile .
关于java - 将 Java 添加到 NGINX Docker 还是将 NGINX 添加到 Alpine 上的 Java Docker?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56286549/
所以最近(9 月 5 日)Alpine Linux 软件包仓库更新为 postgresql-client 12.4 我在我的 Dockerfile ( apk add postgresql-clien
当我运行 apk add --update ab 时出现错误: bash-4.3# apk add --update ab fetch http://dl-cdn.alpinelinux.org/al
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 9 个月前关闭。 Improve t
我有一个在 Alpine 发行版上运行的 docker 镜像,为了让我的一个要求工作 - pocketsphinx==0.1.15,我必须在我的 DockerFile 中安装一些依赖项: FROM p
我已按照以下步骤创建自定义 rootfs 镜像以使用 firecracker 启动:- https://github.com/firecracker-microvm/firecracker/blob/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我正在使用 alpine(最低 3.5)并且我需要使用 nodeJS 4.8.4 Docker 文件 FROM alpine:3.5 RUN apk add --update nodejs=4.8.4
使用 ruby-2.6.6-alpine 的 Docker 镜像创建了一个 498mb 的镜像大小。但是,当我降级到 ruby-2.6.5-alpine 时,它又回到了 266mb。 2.
我尝试在php:7.0-fpm-alpine上安装bz2扩展(基于Alpine 3.4): FROM php:7.0-fpm-alpine RUN docker-php-ext-install bz2
1、运行 fonts ,打开字体文件夹,找到要用的字体文件; 2、修改Dockerfile,例如: ?
我有这个Dockerfile ... FROM keymetrics/pm2:latest-alpine RUN apk update && \ apk upgrade && \ ap
我已经阅读了很多有关Docker容器和Unikernel的知识,以及如何在自己的应用程序中运行轻量级环境。 我知道Linux容器和Unikernel是不同的东西,因为第一个是内核功能(例如 names
我有一个 docker 镜像 nginx:stable-alpine,我需要使用 nginx-extras 为了使用 rewrite_by_lua指示。 我尝试通过 apk add --cached
堆高车 我正在使用Docker容器化我的应用程序。在下面的stage中,我尝试使用UPX对其进行打包。 FROM alpine:3.8 AS compressor # Version of upx t
我在CI / CD机器上使用Alpine linux。下面的docker文件: FROM node:10.15-alpine RUN npm i -g sequelize sequelize-cli
我正在尝试使用 The Badass Runtime Plugin 创建自定义运行时图像然后在 Alpine 上执行它。但它失败并显示以下错误消息。 jibcmd_1 | /bin/sh: exec
如何为所有语言安装字体?这是我的工作,但是Chrome中没有日语字体。 从此图像:https://github.com/Zenika/alpine-chrome/blob/master/Dockerf
是否可以在 Alpine Linux 中的 less 命令上启用鼠标滚动? 我尝试过使用 export LESS=-R 但没有任何作用。 最佳答案 Alpine 上默认的 less 由 BusyBox
我正在尝试在 alpine 中安装一个包,在本例中我指定了“jasper-dev”,但我和其他许多人都遇到过这种情况。我在终端中得到的输出是: / # apk add jasper-dev ERROR
当尝试安装 pdftk apk 时抛出此错误。 ERROR: unsatisfiable constraints: pdftk (missing): required by: world[
我是一名优秀的程序员,十分优秀!