Dockerイメージに OpenJDK8 を入れようと思って失敗した
node のビルドに使っている docker image で javaのビルドも走らせる必要が出てきた。
ベースは Debian なので、適当にググって以下のように書く。
Dockerfile
FROM node:6-slim
RUN echo "deb http://http.debian.net/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list && \
apt-get update -y && \
apt-get install -t jessie-backports openjdk-8-jdk -y
しかし、docker build するとエラーとなる。悲しい。
alpine も検討したが、色々使いたいパッケージが入っていなかったりしたので Debian で何とかしたい。
解決法
openjdk 入れる前に mkdir -p /usr/share/man/man1
する。
FROM node:6-slim
RUN mkdir -p /usr/share/man/man1
echo "deb http://http.debian.net/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list && \
apt-get update -y && \
apt-get install -t jessie-backports openjdk-8-jdk -y
しかし、色々必要なパッケージを詰め込んだら image のサイズが 1.4GB になってしまった。
まあ開発用の docker image だし、重い docker image 殺すマンも許してくれるはず。