読者です 読者をやめる 読者になる 読者になる

ja_JP.UTF-8ロケールを指定したPostgreSQL Dockerコンテナを作る

Docker PostgreSQL

Docker for Mac で 日本語locale設定を含む PostgreSQL を構築 - Qiita を参考にした。

要点

DockerHubで配布されているPostgreSQLコミュニティ公式のDockerイメージでは、日本語ロケールが有効になってない。よって、有効化したイメージを作成(ビルド)する。

イメージの作成

ここでは、公式のPostgreSQL 9.6.1イメージをベースとして、9.6.1_jaという名前のイメージを作成する。

  1. 任意の空ディレクトリを作る。以後、このディレクトリ内で作業する。
  2. 次の通りDockerfileを作成する。

     FROM postgres:9.6.1
     RUN localedef -i ja_JP -c -f UTF-8 -A /usr/share/locale/locale.alias ja_JP.UTF-8
     ENV LANG ja_JP.utf8
    
  3. ビルドする。

     docker build -t postgres:9.6.1_ja .
    

コンテナの起動

initdbの引数を指定してコンテナを起動する。--nameは自分の管理しやすい名称にする(つけなくても良い)。

docker run --name xxxxxxxx -d -p 5432:5432 -e POSTGRES_INITDB_ARGS="--encoding=UTF-8 --locale=ja_JP.UTF-8" postgres:9.6.1_ja