相关疑难解决方法(0)

如何将docker镜像推送到私有存储库

我有一个标记为me/my-image的docker图像,我在dockerhub上有一个名为me-private的私人仓库.当我推动我/我的形象时,我最终总是打到公共回购.

将图像专门推送到私人仓库的确切语法是什么?

docker docker-registry

363
推荐指数
10
解决办法
33万
查看次数

在 Spring Boot Maven 插件创建的 Docker 镜像中安装包

我的 Spring Boot 项目包含 Spring Boot Maven 插件,我使用它通过运行mvn spring-boot:build-image.

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>build-image</goal>
            </goals>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

将此映像部署到 Docker 堆栈时,我需要使用该curl命令运行运行状况检查,但不幸的curl是默认构建包未安装该命令。

是否可以进一步调整图像构建过程,以便curl安装到图像中?我找不到必要的信息

docker spring-boot spring-boot-maven-plugin

7
推荐指数
1
解决办法
2997
查看次数

Docker 中通过 buildpack 构建的 Spring Boot 无法加载字体

我的 Spring Boot 应用程序在 Docker 中运行,并由gradlew bootBuildImage. 在 Docker 容器中运行时应用程序无法加载字体

Caused by: java.lang.NullPointerException
    at java.desktop/sun.awt.FontConfiguration.getVersion(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

根本原因似乎是缺少fontconfig软件包 ttf-dejavu。使用时Dockerfile,可以使用apk addyumapt-get等轻松安装这些软件包

但是https://github.com/paketo-buildpacks/spring-boothttps://github.com/paketo-buildpacks/bellsoft-liberica没有安装其他软件包的选项。

是否有构建包(或配置选项)可以构建具有字体支持的 Docker 映像?

buildpack spring-boot-gradle-plugin paketo

5
推荐指数
1
解决办法
2031
查看次数

Buildpacks + SpringBoot:Docker 镜像的端口和配置问题

关于将 SpringBoot 项目的构建 Docker 映像从 Dockerfile 迁移到 BuildPacks 的小问题。

我有一个非常简单的 SpringBoot 应用程序,需要容器化。为此,我有一个非常简单的 Dockerfile:

FROM my-custom-java-base-image

RUN install -d -o some-user -g some-user /var/log/supervisor
RUN chmod -R 755 /usr/local/some-user/

EXPOSE 9999
Run Code Online (Sandbox Code Playgroud)

请注意,在这个 Dockerfile 中,有一个自定义的 java 基础镜像,需要运行一些 RUN 命令(以及运行一些其他命令),并公开一个自定义端口,而不是通常的 8080。

这个图像构建得很好,一切都与它配合,非常高兴。

现在,从 SpringBoot 2.3 开始,有了 Buildpacks 集成的新功能,人们可以简单地运行./mvnw spring-boot:build-image并构建一个非常漂亮的分层 Docker 镜像。

这个 Layered Docker 镜像确实非常酷。热门会议上的许多演讲都展示了这种构建图像的新方法的好处:

参考:

https://www.youtube.com/watch?v=44n_MtsggnI

https://www.youtube.com/watch?v=EVHHyiypiY0

然而,在我在网上找到的所有演示中,最初的 Dockerfile 非常简陋,没有自定义端口,没有自定义命令,好像只能用于基本功能

FROM alpine
WORKDIR /tmp
COPY target/myapp.jar myapp.jar
ENTRYPOINT [java -jar blablabla]
Run Code Online (Sandbox Code Playgroud)

到目前为止我尝试的是在插件配置中找到一种从 Dockerfile 中配置我需要的东西的方法

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <!-- …
Run Code Online (Sandbox Code Playgroud)

java spring-data buildpack docker spring-boot

5
推荐指数
1
解决办法
1013
查看次数