[Docker] ์ปจํ ์ด๋ ํ๊ธ ์ ๋ ฅ ๋ก์ผ์ผ(locale) ์ค์
์ธ์ด ์ค์ ๊ด๋ จ ๊ฒ์๋ฌผ ์ ๋ง ๋ง์๋๋ฐ... ๋ค ์คํจํ๊ณ ์ฑ๊ณตํ ๐ 44BITS ๋์ ๊ฒ์๋ฌผ์ ์ฐธ๊ณ ํ๋ค.
๋์ปค ์ปจํ ์ด๋ ํ๊ธ ์ ๋ ฅ ์ค์
๋์ปค ์ปจํ ์ด๋ ๋ฐฐ์ฌ์์ ํ๊ธ์ ์ ๋ ฅํ๋ฉด ์ ๋ ฅ์ด ์๋๋ค. ์ปจํ ์ด๋์ ๋ก์ผ์ผ ์ค์ ๋๋ฌธ์ด๋ค. ์ปจํ ์ด๋์ ๋ก์ผ์ผ ์ค์ ๊ฐ๊ณผ ์ฌ์ฉํ ์ ์๋ ๋ก์ผ์ผ์ ์๋์ฒ๋ผ ํ์ธํ ์ ์๋ค.
#ํ์ฌ ๋ก์ผ์ผ ์ค์
root@8c66d4754f83:/# locale
...
LC_ALL=
#์ฌ์ฉ ๊ฐ๋ฅํ ๋ก์ผ์ผ ํ์ธ
root@8c66d4754f83:/# locale -a
C
C.UTF-8
POSIX
ํ๊ธ์ C.UTF-8 ์ด๋ ko_KR.UTF-8 ์ ์ด์ฉํด์ผ ํ๋ค. ํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ก์ผ์ผ์ C.UTF-8 ์ด๋ ์ด ๊ฐ์ ์ปจํ ์ด๋ ์คํ ์ ์ต์ ์ผ๋ก ์ค์ ํด์ฃผ๋ฉด ๋๋ค.
$ docker exec -e LC_ALL=C.UTF-8 ...
ko_KR.UTF-8 ์ค์
๋ง์ฝ ko_KR.UTF-8์ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด ์ค์นํด์ผ ํ๋ค. locales ํจํค์ง๋ฅผ ์ค์นํ๊ณ locale-gen ๋ช ๋ น์ด๋ก ko_KR.UTF-8 ๋ก์ผ์ผ์ ์์ฑํ๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ๋ก์ผ์ผ์ ํ์ธํด๋ณด๋ฉด ์ถ๊ฐ๋์ด ์์ ๊ฒ์ด๋ค.
#ko_KR ๋ก์ผ์ผ ์ค์น
root@8c66d4754f83:/# apt-get update
root@8c66d4754f83:/# apt-get install locales
root@8c66d4754f83:/# locale-gen ko_KR.UTF-8
#์ฌ์ฉ ๊ฐ๋ฅํ ๋ก์ผ์ผ ํ์ธ
root@8c66d4754f83:/# locale -a
...
ko_KR.utf8
์ปจํ ์ด๋์ LC_ALL ํ๊ฒฝ๋ณ์๋ฅผ ko_KR.utf8 ๋ก ์ค์ ํ๊ณ ํ์ธํด๋ณด์. ๋ง์ฝ bash: warning: setlocale: LC_ALL: cannot change locale (ko_KR.utf8) ๊ฒฝ๊ณ ๊ฐ ๋จ๋๋ฐ ๋ฐ๋์ด ์๋ค๋ฉด ๋ฌด์ํด๋ ๋๋ ๊ฒ ๊ฐ๋ค...
#๋ก์ผ์ผ ํ๊ฒฝ๋ณ์ ko_KR ๋ก ์ค์
root@8c66d4754f83:/# export LC_ALL=ko_KR.utf8
#ํ์ฌ ๋ก์ผ์ผ ์ค์ ํ์ธ
root@8c66d4754f83:/# locale
...
LC_ALL=ko_KR.utf8
๋ฐฐ์ฌ๋ฅผ ๋ค์ ์์ํด ํ๊ธ ์ ๋ ฅ์ด ๋๋์ง ํ์ธํด๋ณธ๋ค.
root@8c66d4754f83:/# LC_ALL=ko_KR.UTF-8 bash
root@8c66d4754f83:/# ํ๊ธ์ ์
๋ ฅํด๋ณด์ธ์~
์ดํ ์๋ ์ต์ ์ ๋ถ์ฌ ์ปจํ ์ด๋๋ฅผ ์คํํ๋ค.
$ docker exec -e LC_ALL=ko_KR.UTF-8 ...
์ด๋ฏธ์ง๋ก ๋น๋ํ๊ธฐ
ko_KR ๋ก์ผ์ผ์ด ๋ฏธ๋ฆฌ ์ค์ ๋์ด ์๋ ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค์ด์ ๋ฐฐํฌํ๊ณ ์ถ๋ค๋ฉด ์๋๋๋ก ์งํํ์. ์ปจํ ์ด๋ ๋ฐฐ์ฌ๋ exit ๋ก ์ข ๋ฃํ๊ณ , ์ง๊ธ๊น์ง ์คํํ๋ ๋ช ๋ น์ด๋ฅผ Dockerfile ๋ก ๋ง๋ ๋ค.
$ mkdir images
$ cd images
images $ vi Dockerfile
#์๋ ๋ด์ฉ ์์ฑ
FROM [ํ์ฌ image name]
RUN apt-get update && apt-get install -y locales
RUN locale-gen ko_KR.UTF-8
ENV LC_ALL ko_KR.UTF-8
~
~
~
์๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด ๋ง๋ dockerfile์ ์ด๋ฏธ์ง๋ก ๋น๋ํ ์ ์๋ค.
$ docker build -t [์ฌ์ฉํ image name] .
์ ๋ง๋ค์ด์ก๋์ง ํ์ธํด๋ณธ๋ค.
bora@boraui-MacBookPro images % docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
๋ฐ๊พผimage latest 037531664395 About a minute ago 123MB
์๋image latest e2278f24ac88 2 weeks ago 410MB
ํด๋น ์ด๋ฏธ์ง๋ฅผ ์ปจํ ์ด๋๋ก ์์ฑํ๊ณ ๋ฐฐ์ฌ๋ฅผ ์คํํด๋ณด์.
$ docker run -it ๋ฐ๊พผimage bash
root@5a21a8cbbe26:/# ํ๊ธ์ ์
๋ ฅํด ๋ณด์ธ์~