窓を作っては壊していた人のブログ

この謎のブログタイトルの由来を知るものはもういないだろう

isucon12の予選問題をdocker composeでlocalで練習したい!

そろそろ ISUCON13 も本番が近づいてきたので、練習をしてみよう!ってことで、手元で動かせそうな問題ないかなーと調べていました。

isucon.net

ほほう、4と7の予選が手元でシュッとDockerで起動出来るのか、なるほどー……… 流石に5年以上も前となると、言語ランタイムが古かったり、ミドルウェアが古かったりで、考え方は同じでも実際にコードに起こすみたいなところで練習してもとなるところが出てきます。

となるとなんとしてでも最近のやつを動かしたいなとなり、とりあえずで isucon12 のコードを眺めてみました。

GitHub - isucon/isucon12-qualify

ざっと眺めてみると、移植作業のための docker compose ファイルや、実行するための Makefile などが見つかります。 これらを有効活用して出来ないかといくつか手直しをしたら動いたので、共有します。

github.com

変更点としては

  • apt で mysql-client が入らなかったので、default-mysql-client に変更
  • docker-composeで起動したアプリケーションのネットワーク設定がhostだったため、serveしているwebページなどにアクセス出来なかった
    • ネットワーク設定を変更してアクセスできるように
  • 上記変更に伴ったnginxからのネットワーク設定の変更

これで一旦動作したので、これを使ってコードの書き換えの練習や、設定ファイルの管理の仕方とかをいい感じ手順化して本番頑張ります。


今年も個人スポンサーになりました、わいわい楽しむぞ!

ISUCON13 個人スポンサー : ISUCON公式Blog