首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何构建安装MySQL的自定义Docker镜像,并配置Jib以将其用作我的Java应用程序的基础镜像?

如何构建安装MySQL的自定义Docker镜像,并配置Jib以将其用作我的Java应用程序的基础镜像?
EN

Stack Overflow用户
提问于 2019-07-27 01:26:26
回答 1查看 500关注 0票数 1

我是码头新手。我正尝试在GCE上挂载我的使用Jib制作的Java App的docker镜像,并将其连接到CloudSQL。然而,因为GCE使docker镜像使用容器优化的引导盘,所以当我通过SSH进入实例并尝试将其挂接到mysql时,我无法安装MySQL,因为'apt-get not found‘。

我读到为了访问apt-get,我可以“构建一个自定义镜像并将Jib配置为使用它作为基础镜像”,但我似乎找不到任何关于如何做到这一点的资源。

我尝试使用apk而不是apt-get走高山jdk路线,但有人告诉我不要使用高山jdk,因为我稍后会遇到问题。

我已经在我的build.gradle中设置了这个:

代码语言:javascript
复制
jib {
    from {
        image = 'order-routing-helper-image'
    }
    to {
        image = 'gcr.io/myimage'
    }
}

编辑:DOCKERFILE

代码语言:javascript
复制
FROM openjdk:11
VOLUME /tmp
ARG DEPENDENCY=target/dependency
COPY ${DEPENDENCY}/BOOT-INF/lib /app/lib
COPY ${DEPENDENCY}/META-INF /app/META-INF
COPY ${DEPENDENCY}/BOOT-INF/classes /app
ENTRYPOINT ["java","-cp","app:app/lib/*","com.mygroup.myapp.OrderRoutingApplication"]

但是我在任何地方都没有订单路由助手图像,我只知道我需要这行。

如果我运行gradle jib,然后在GCE上挂载新的镜像并将SSH挂载到其中,我就能够运行"sudo apt-get install mysql-client“。现在我得到的是"apt-get:未找到“。

EN

回答 1

Stack Overflow用户

发布于 2019-07-27 03:54:09

要在Docker镜像中添加MySQL,请先运行更新,然后添加MySQL。

代码语言:javascript
复制
FROM openjdk:11
VOLUME /tmp
RUN apt update && apt install mysql-server -y
ARG DEPENDENCY=target/dependency
COPY ${DEPENDENCY}/BOOT-INF/lib /app/lib
COPY ${DEPENDENCY}/META-INF /app/META-INF
COPY ${DEPENDENCY}/BOOT-INF/classes /app
ENTRYPOINT ["java","-cp","app:app/lib/*","com.mygroup.myapp.OrderRoutingApplication"]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57224594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档