Debian(Jessie)のdocker imageでapt updateがこける






Debian(Jessie)のdocker imageを使おうとしたところ、apt-get updateで以下のエラー。

W: Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/InRelease  Unable to find expected entry 'main/binary-amd64/Packages' in Release file (Wrong sources.list entry or malformed file)

どうやらaptパッケージのダウンロード元が以下のように変わったのでエラーになるようです。

http://deb.debian.org/debian/dists/jessie-updates/main/binary-amd64/Packages

http://deb.debian.org/debian/dists/jessie/main/binary-amd64/Packages

ダウンロード元は、docker imageの/etc/apt/sources.listで確認出来る。

deb http://deb.debian.org/debian jessie main
deb http://security.debian.org/debian-security jessie/updates main
deb http://deb.debian.org/debian jessie-updates main

一番下のdeb http://deb.debian.org/debian jessie-updates mainを削除すればよい。

自分はDockerfileのapt-get updateの前にsedで処理しました。

RUN sed -i '/deb http:\/\/deb.debian.org\/debian jessie-updates main/d' /etc/apt/sources.list && \
    apt-get update && \
    ...