LoginSignup
0
0

[docker][MySQL]古いバージョンを使おうとするとCompose upで死ぬ件

Posted at

動け!! 動けよ!! 動いてよ!!!!

プログラマーなら、自分のコードが動かないときに大体思うよね。
「今やらなきゃ、みんな死んじゃう(デスマな)んだ!!そんなのもう嫌なんだよ。だから 動いてよ!!

DockerでMySQLの5.6を動かそうとして↑な状況になった件について

※2024/06/17時点で起こったこと

とりあえず最初に作ったDockerfileを見ておくれ

dockerfile
FROM mysql:5.6.36
RUN apt-get update && \
    apt-get install -y locales vim && \
    rm -rf /var/lib/apt/lists/* && \
    echo "ja_JP.UTF-8 UTF-8" > /etc/locale.gen && \
    locale-gen ja_JP.UTF-8
ENV LANG ja_JP.utf8
RUN { \
    echo '[mysqld]'; \
    echo 'character-set-server=utf8'; \
    echo 'collation-server=utf8_general_ci'; \
    echo '[client]'; \
    echo 'default-character-set=utf8'; \
} > /etc/mysql/conf.d/charset.cnf

これでcompose upすると、apt-getで404エラーが発生しました。

Linuxをイジってる人ならすぐに「あぁdebianのパッケージの場所が変わったんだな」ってお察しでしょうが、
基本的にWindowsしか使ってこなかった勢からすると「404ってサイトが見つからないってことだよね、公式とか他の人のサイト通りに書いてるのに、なんで動かないだよ。。。動いてよ!!」ってアレになるかと思うので備忘録的な意味で、追加設定を入れた版で残しておきますね。

dockerfile
FROM mysql:5.6.36
RUN echo "deb http://archive.debian.org/debian/ stretch main" > /etc/apt/sources.list && \
    echo "deb http://archive.debian.org/debian-security stretch/updates main" >> /etc/apt/sources.list && \
    apt-get update && \
    apt-get install -y locales vim && \
    rm -rf /var/lib/apt/lists/* && \
    echo "ja_JP.UTF-8 UTF-8" > /etc/locale.gen && \
    locale-gen ja_JP.UTF-8
ENV LANG ja_JP.utf8

RUN { \
    echo '[mysqld]'; \
    echo 'character-set-server=utf8'; \
    echo 'collation-server=utf8_general_ci'; \
    echo '[client]'; \
    echo 'default-character-set=utf8'; \
} > /etc/mysql/conf.d/charset.cnf
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0