ansibleでcentos7のdockerコンテナをプロビジョンしているのだが、
日本語化するのがなかなか大変だったので、手順を記載しておく。
以下はプレイブック。
---
- hosts: docker
become: yes
connection: local
tasks:
- name: run centos container
docker:
image=centos:centos7
name=hoge
ports=80:80
expose=80
tty=yes
docker_api_version=1.20
hostname=hoge-docker
privileged=yes
command=/sbin/init
env='LANG=ja_JP.UTF-8'
tags: docker
- hosts: container
connection: docker
tasks:
- name: check locale
shell: locale -a | grep ja
register: is_exists_jp
failed_when: false
tags: setup
- name: install locale
shell: yum reinstall -y glibc-common
when: is_exists_jp.stdout == ''
tags: setup
以下は、hosts。
[docker] localhost [container] docker
これで、
$ ansible-playbook -i hosts playbook.yml
とすると、日本語化されたcentos7のdockerコンテナが利用できます。
ポイントは、
- コンテナ作成時のenvの指定
- コンテナ内でのglibc-commonのreinstall
となります。
shellでyum叩いてるから、ワーニングでるけど、しょうがないかな。
コメントがあればどうぞ