我是码头新手。我正尝试在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中设置了这个:
jib {
from {
image = 'order-routing-helper-image'
}
to {
image = 'gcr.io/myimage'
}
}编辑:DOCKERFILE
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:未找到“。
发布于 2019-07-27 03:54:09
要在Docker镜像中添加MySQL,请先运行更新,然后添加MySQL。
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"]https://stackoverflow.com/questions/57224594
复制相似问题