Docker, ๊ทธ๊ฒ์ ๋ฌด์์ด๊ณ , ์ค์น๋ ์ด๋ป๊ฒํ ๊น?
์์ฆ Docker ๋ผ๊ณ ํ๋ ๊ฒ์ด ๊ต์ฅํ ์ธ๊ธฐ์ ๋๋ค. Docker ์ปจํ ์ด๋๋ ์๊ธฐ ์์ํ๊ฑด ์ ๋ ์๋ 10์๋ถํฐ์๋๋ฐ, ์ ๋ ๊ฝค ๋ง์ด ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
Docker๋ฅผ ๊ฒ์ํ์๋ ๋ถ๋ค์ ์๋ง ํ ๋ฒ์ฏค์ ์์ ์ด ์๋ฒ ์ด์์ ํด ๋ณธ ๊ฒฝํ์ด ์๊ฑฐ๋ ์๋ฒ ํ๋ก๊ทธ๋๋จธ ์ด์ค์ง๋ ๋ชจ๋ฆ ๋๋ค. Docker Container๋ ์๋ฒ๋ฅผ ์ด์ํ๊ฑฐ๋ ๊ฐ๋ฐํ๋ ๋ฐ ์์ด์ ๊ต์ฅํ ์ค์ํ ์ญํ ๋ก ์๋ฆฌ์ก๊ณ ์์ต๋๋ค.
Docker
๋ฆฌ๋ ์ค ์ปจํ ์ด๋๋ ๋ฆฌ๋ ์ค์์ ์ฌ์ฉํ๋ ๊ฐ์ํ ์์คํ ์ ์ผ์ข ์ด์ง๋ง, ๊ฐ์ ๋จธ์ ๊ณผ๋ ๋ค๋ฅธ ๊ธฐ์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ๊ธฐ์กด์ ์๋ ๋ฆฌ๋ ์ค์ ๊ฐ์ ๋จธ์ ์ KVM(Kernel Virtual Machine)๊ณผ Xen์ด ๊ฐ์ฅ ๋ํ์ ์ด์๊ณ , ๊ทธ๋ค์ ํ๋์จ์ด ๊ฐ์ํ๋ฅผ ์ฌ์ฉํ ์ค์ ๊ฐ์ ๋จธ์ ์ด์์ต๋๋ค.
์์ ๋ณด์ด๋ ์ฌ์ง์ด ๋ฐ๋ก ๊ฐ์ ๋จธ์ ์ ๊ตฌ์ฑ๋์ ๋๋ค. HOST OS๋ ํ์ฌ ์์ ์ด ์ฌ์ฉํ๊ณ ์๋ ์ด์์ฒด์ ์ด๊ณ , ๊ทธ ์ด์์ฒด์ ์์ HYPERVISOR๋ผ๋ ํ๋์จ์ด ๊ฐ์ํ๋ฅผ ์ฌ์ฉํ์ฌ ๊ทธ ์์ ๋ ๋ค๋ฅธ ์ด์์ฒด์ ๋ฅผ ์ค์นํ๋ ๊ฒ์ด ๋ฐ๋ก ๊ฐ์ ๋จธ์ ์ ๋๋ค. ํ๋ก๊ทธ๋จ์ผ๋ก ๋ณด์๋ฉด, ์ฌ๋ฌ๋ถ๋ค์ด ์ด๋ ธ์ ๋ ๋ง์ด ์ฆ๊ฒจํ๋ MAME32 ๊ฒ์, Snes9x, zNES ๋จธ์ ๋ค์ ๋ณผ ์ ์์ต๋๋ค. ์ด๋ค์ ๋ชจ๋ GUEST OS๋ฅผ ๊ฐ์ง๊ณ ์๊ธด ํ์ง๋ง ์ฅ์น ์์ฒด๋ฅผ ๋ชจ๋ฐฉ ํ๊ธฐ๋ ํ๊ณ , ํด๋น ํ๋ก๊ทธ๋จ ํ๋์์๋ง ์ข ์์ ์ด์ฃ . ํํ ์ด๋ฐ ๊ฒ์ ์๋ฎฌ๋ ์ดํฐ๋ผ ํฉ๋๋ค. ํ์ง๋ง ์ฌ๊ธฐ์ ๋์ ์๋ HYPERVISOR๋ ๋๊ฐ์ด ๊ฐ์์ ๋จธ์ ์ด๊ธด ํ์ง๋ง, ํธ์คํธ ์ปดํจํฐ์์ ๋ค์์ ์ด์์ฒด์ ๋ฅผ ์คํํ๊ธฐ ์ํ ๋ ผ๋ฆฌ์ ์ธ ํ ํ๋ซํผ์ด๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฅ ๊ทธ์ ํ๋ก๊ทธ๋จ ํ๋๊ฐ ๋ค๋ฅธ ์ฅ์น๋ฅผ ๋ชจ๋ฐฉํ๋ ์๋ฎฌ๋ ์ดํฐ ์ฆ, SNES๋ MAME32์ ๊ฐ์ ํ๋ก๊ทธ๋จ๊ณผ๋ ๋ค๋ฅธ ๋ถ๋ฅ์ ์ํ๊ฒ ๋ฉ๋๋ค.
์ ์ฌ์ง์ Docker์ ๊ตฌ์ฑ๋์ ๋๋ค. Docker๋ ๋ฆฌ๋ ์ค ์ปจํ ์ด๋์ ๊ฐ์ฅ ๋ํ์ ์ธ ์ข ๋ฅ ์ค ํ๋๋ก, Google, Facebook ๋ฑ์ ๋๊ธฐ์ ์์ ์ฃผ๋ก ์ฌ์ฉํฉ๋๋ค. Docker๋ Virtual Machine๊ณผ ๋ฌ๋ฆฌ Guest OS๋ฅผ ๊ฐ์ง๊ณ ์์ง ์์ผ๋ฉฐ, ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ Host OS์ Kernel์์ ๊ณต์ ํ์ฌ ๊ตฌ๋ํฉ๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๊ตฌ์ถ์ด ๋งค์ฐ ์ฝ๊ณ , ๋น ๋ฅด๋ฉฐ ํ๋์จ์ด ๊ฐ์ํ๊ฐ ํ์ ์๊ธฐ ๋๋ฌธ์ ๊ทธ๋งํผ์ ๋ฆฌ์์ค๋ฅผ ์ค์ผ ์ ์๋ค๋ ์ฅ์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
Docker ์ฅ/๋จ์
Docker๋ Host OS์ ์ปค๋์ ๊ณต์ ํ์ฌ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๊ทธ๋งํผ์ ๋ฆฌ์์ค๋ฅผ ์ค์ผ ์ ์์ง๋ง ๋ฐ๋ฉด์ ๋จ์ ๋ ์ง๋๊ณ ์์ต๋๋ค.
์ฅ์
- ํ๋์จ์ด ๊ฐ์ํ๊ฐ ํ์ ์์ด ๋ณ๋์ Guest OS๋ฅผ ์ค์นํ ํ์๊ฐ ์์ต๋๋ค. (์ ์ฅ ์ฅ์น ์ฉ๋ ์ ๊ฐ)
- Guest OS๋ฅผ ์ค์นํ์ง ์๊ธฐ ๋๋ฌธ์ ๊ตฌ๋์ ๋ณ๋์ ํ๋์จ์ด ์ด๊ธฐํ๋ init ํ๋ก์ธ์ค๋ฅผ ๊ตฌ๋ํ ํ์๊ฐ ์์ต๋๋ค. (RAM, CPU ์ฌ์ฉ๋ ์ ๊ฐ)
๋จ์
- ๋ฆฌ๋ ์ค ์ปจํ ์ด๋์ด๊ธฐ ๋๋ฌธ์, Linux ์ด์ธ์ ์ด์์ฒด์ ๋ ์ค์น/์คํํ ์๊ฐ ์์ต๋๋ค.
- ๋ ๋ฆฌ๋ ์ค ์ปค๋์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๊ฐ์ ํ๊ฒฝ ๋ํ ๋ฆฌ๋ ์ค ์ธ์ ์ด์์ฒด์ ๋ ๋จธ์ ์ผ๋ก ์์ฑํ ์ ์์ต๋๋ค.
- Host OS์ ์ปค๋์ ๊ณต์ ํด์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ปค๋์ ๋ค์ ์ฐจ์ด๊ฐ ์์ต๋๋ค. (์ ํ์ ์)
๋จ์ ๋ง์ง๋ง ๋ถ๋ถ์ ์ ์ด์ผํ ์ง ์ ์ง ๋ง์์ผํ ์ง๋ฅผ ๊ต์ฅํ ๋ง์ด ๊ณ ๋ฏผํ์ต๋๋ค. ์ฌ์ค ์ด ๋ถ๋ถ์ ํ์ฌ ํด๊ฒฐ๋ ๋ถ๋ถ์ด์ง๋ง, ์ ํํ๊ฒ ์๊ธฐํ์๋ฉด, ๋ฆฌ๋ ์ค ์ปจํ ์ด๋๋ ์ต์ด์ root ๊ณ์ ์ผ๋ก ์ํํ๊ฒ ๋ฉ๋๋ค. ํ์ง๋ง Host OS์ ์ปค๋์ ๊ณต์ ํด์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ปจํ ์ด๋ ๋ด์ root๋ root๊ฐ ๋ ์ ์์ต๋๋ค. ์ด ๋๋ฌธ์ ์ผ๋ฐ ์ฌ์ฉ์๊ฐ ์ปจํ ์ด๋๋ฅผ ์คํ์ํค๊ณ root ๊ถํ์ ์ต๋ํ ์ ์๋ ์ทจ์ฝ์ ์ด ์๊ธฐ๊ฒ ๋ฉ๋๋ค. ํ์ฌ Docker์์๋ Kernel ๋ถ๋ถ (/proc)์ Read-only file system์ผ๋ก ์ง์ ํด๋๊ณ , ํจํค์ง ๋ถ๋ถ๋ ๋ฐ๋ก ๋ถ๋ฆฌํด๋๊ณ ์์ต๋๋ค.
๋, ๋ฆฌ๋ ์ค ๊ฐ์ ํ๊ฒฝ์ ์ฌ์ฉํ๊ณ ์๋ ์ ์ ์ค์ ์ปค๋๊ณผ ๊ด๋ จ๋ ์์ ํ์๋ ๋ถ๋ค์ด ๊ฐ์ ๋จธ์ ๊ณผ ํผ๋ํ์ ์ Docker๋ก CentOS๋ฅผ ์ค์นํ๋ฉด ํด๋น ๋ฐฐํฌํ์ CentOS๊ฐ ์๋ฒฝํ๊ฒ ์ค์น๋์๋ ๊ฒ์ผ๋ก ์ฐฉ๊ฐํ์๋ ๋ถ๋ค์ด ๊ณ์ญ๋๋ค. ๋ฐฐํฌํ์ CentOS๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ๋ช ๋ น์ด๋ ์ด๋ฐ ๋ถ๋ถ์ ๋น์ฐํ CentOS์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ง๋ง ์ปค๋์ Host OS์ ์ปค๋์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ Host OS๊ฐ ๋ง์ผ Ubuntu Linux๋ผ๋ฉด Docker๋ก ์ค์นํ CentOS์ ์ปค๋์ Ubuntu Linux์ ์ปค๋์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์, ์ด ์ ๋ฐ๋์ ์์๋์๊ณ ์ฌ์ฉํ์๊ธฐ ๋ฐ๋๋๋ค.
Docker ์ค์น
Docker์ ์ค์น๋ ๋งค์ฐ ๊ฐ๋จํฉ๋๋ค. ์ ๋ Ubuntu Linux๋ฅผ ์ฌ์ฉํ๋ฏ๋ก, Ubuntu Linux๋ฅผ ์๋ก ๋ค์ด ์ค๋ช ํ๊ฒ ์ต๋๋ค.
$ sudo apt install docker.io
docker ํจํค์ง๋ docker.io ์ด๊ธฐ ๋๋ฌธ์, docker.io๋ฅผ ์ ๋ ฅํด์ค๋๋ค.
# cat /etc/group | grep docker
root๋ก ๋ก๊ทธ์ธํ์ฌ, /etc/group ํ์ผ์ ์ถ๋ ฅํ๋๋ฐ, docker ๋ถ๋ถ์ ์์ธํ์ฌ ์ถ๋ ฅํฉ๋๋ค.
docker ๊ทธ๋ฃน์ ์ด๋ค ์ฌ์ฉ์๋ ์ถ๊ฐ๋์ด ์์ง ์์ต๋๋ค. ์ด๋ด ๊ฒฝ์ฐ์๋ root ์ฌ์ฉ์ ์ด์ธ์๋ docker๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ง์ฝ, ๋ค๋ฅธ ์ผ๋ฐ ์ฌ์ฉ์์๊ฒ docker ์ฌ์ฉ ๊ถํ์ ๋ถ์ฌํ๊ณ ์ถ๋ค๋ฉด, docker ๊ทธ๋ฃน์ ํด๋น ์ฌ์ฉ์๋ฅผ ๋ฃ์ด์ฃผ๋ฉด ๋ฉ๋๋ค.
# usermod -a -G docker neonkid
usermod ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํด, ๊ทธ๋ฃน ์ด๋ฆ๊ณผ ํด๋น ๊ทธ๋ฃน์ ์ถ๊ฐํ ์ฌ์ฉ์ ์ด๋ฆ์ ์ ๋ ฅํด์ค๋๋ค.
์์ ๊ฐ์ด ์ถ๊ฐ๋๋ฉด, ํด๋น ๊ณ์ ์ผ๋ก๋ docker๋ฅผ ์์ฑ/๊ด๋ฆฌํ ์ ์์ต๋๋ค.
Docker ์ปจํ
์ด๋ ์ถ๊ฐ/์คํ
์ ์ด์ Docker๋ฅผ ์ค์นํ์ผ๋ ์ปจํ ์ด๋๋ฅผ ์ถ๊ฐํ๊ณ , ์คํํด๋ด ์๋ค. ๊ทธ ์ ์, ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ก๋ ๋ฐ์์ผ ํฉ๋๋ค.
Docker์ ์๋ ๋ฆฌ๋ ์ค ์ปจํ ์ด๋์ ์ด๋ฏธ์ง๋ ๋ฆฌ๋ ์ค์ ๊ฑฐ์ ๋ชจ๋ ๋ฐฐํฌํ์ด ํฌํจ๋์ด ์์ต๋๋ค. ๋ชจ์ ํดํน์ฉ ๋ฆฌ๋ ์ค์ธ Kali Linux๋ฅผ ํฌํจํ์ฌ CentOS, Ubuntu Linux ๋ฑ์ด ์์ต๋๋ค. ์ฌ๊ธฐ์ ๋ณธ์ธ์ด ์์ ์ ์๋ฒ๋ฅผ ํ ์คํธํ๊ธฐ ์ํด Kali Linux ํจํค์ง๋ฅผ ์ค์นํ์ฌ ํ ์คํธ๋ฅผ ์ง์ ํด๋ณผ ์๋ ์๋๋ฐ, ํด๋น ๋ด์ฉ์ ๋ํด์๋ ์ฐจํ์ ์ ๊ฐ ์์ธํ๊ฒ ํฌ์คํ ํ์ฌ ๋ค๋ฃจ๋๋ก ํ๊ฒ ์ต๋๋ค.
๋จผ์ ์์ ์ด ํ์ฌ ๊ฐ์ง๊ณ ์๋ ๋ฆฌ๋ ์ค ์ด๋ฏธ์ง๊ฐ ์ด๋ค๊ฒ ์๋์ง ์์๋ด ์๋ค.
# docker images
์ฒ์ ์ ๋ช ๋ น์ด๋ฅผ ๋๋๋ฆฌ๊ฒ ๋๋ฉด, ์ฌ์ค ์๋ฌด๊ฒ๋ ์์ต๋๋ค. ํด๋น ๋ช ๋ น์ด๋ ์ฌ๋ฌ๋ถ๋ค์ด ๋ค๋ฅธ ์๋ฒ ํ๊ฒฝ์์ Docker๋ฅผ ์ฌ์ฉํ๋ค๊ณ ํ์์ ๋, ์ต์ํด์ง๊ธฐ ์ํด ์์๋์ด์ผํ ๋ช ๋ น์ด์ด๊ธฐ ๋๋ฌธ์ ์ผ๋จ ๋จผ์ ์์๋ณด๊ณ ์ง๋๊ฐ๊ฒ ๋์์ต๋๋ค.
๊ทธ๋ผ ์ด์ ์ฐ๋ฆฌ๊ฐ ์ด๋ค ๋ฐฐํฌํ์ ์ค์นํ ์ ์๋์ง์ ๋ํด์ ์์๋ด ์๋ค.
# docker search ubuntu
๋จผ์ ์ฐ๋ฆฌ๊ฐ ์ค์นํ Ubuntu ๋ฐฐํฌํ์ ๋ํด์ ๊ฒ์ํด๋ด ์๋ค. ๊ฒ์ํด๋ณด๋ฉด, ์ฌ๋ฌ ์ด๋ฏธ์ง๋ค์ด ์์ต๋๋ค. ์์ ์ฐ๋ถํฌ๋ฅผ ์ด๊ธฐ ์ํ๋ก ์ค์นํ ์ ์๋ ์ด๋ฏธ์ง, upstart ๋ฐ๋ชฌ์ ํฌํจ์ํจ ๋ถํ ๋ฐ๋ชฌ ์ค์น ์ด๋ฏธ์ง ๋ฑ์ด ์์ต๋๋ค. Docker๋ ์ฌ์ฉ์๊ฐ ์ง์ ๋ฐฐํฌํ์ ๋ง๋ค์ด์ ๋ฐฐํฌํ ์๊ฐ ์๋๋ฐ, ๋งจ ์ฒ์ ์๋ ubuntu๋ฅผ ์ ์ธํ ๋๋จธ์ง๋ ์ ๋ถ ์ฌ์ฉ์๊ฐ ๋ฐฐํฌํ ๊ฒ์์ ์ ์ ์์ต๋๋ค.
CentOS ์ด๋ฏธ์ง๋ฅผ ๋ณด๊ณ ์ถ๋ค๋ฉด, docker search centos๋ผ๊ณ ์ ๋ ฅํ์๋ฉด ๋ฉ๋๋ค.
์ ๊ทธ๋ผ ์ด์ Docker ์ด๋ฏธ์ง๋ฅผ ์ค์นํด๋ด ์๋ค.
# docker pull ubuntu
์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์๊ฒ ๋๋ฉด, ubuntu ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ก๋ ๋ฐ๊ฒ ๋ฉ๋๋ค. ์ด ๋, ๋ค์ด๋ก๋ ๋ฐ๋ ๋ฒ์ ์ ๊ฐ์ฅ ์ต์ข ๋ฐฐํฌ๋ ๋ฐฐํฌํ์ด๋ฉฐ, ๋ง์ผ ์ฌ๊ธฐ์ ๋ค๋ฅธ ๋ฒ์ ์ ๋ฐฐํฌํ์ ๋ฐ๊ณ ์ ํ๋ค๋ฉด, ubuntu:[๋ฒ์ ์ซ์] ์ด๋ ๊ฒ ์ ์ผ์๋ฉด ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด 14.04 ๋ฐฐํฌํ์ ๋ฐ๊ณ ์ถ๋ค๋ฉด, docker pull ubuntu:14.04 ๋ผ๊ณ ์ ๋ ฅํ์๋ฉด ๋ฉ๋๋ค.
๋ค์ docker images ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๊ฒ ๋๋ฉด, ์ด๋ ๊ฒ Ubuntu ์ด๋ฏธ์ง๊ฐ ํ์๋๋ ๊ฒ์ ์ ์ ์์ต๋๋ค. ์ด๋ฏธ์ง ํฌ๊ธฐ๋ Kernel์ ๋นผ๊ณ , ํจํค์ง๋ฅผ ์ต์ํ๋ก ์ค์๊ธฐ ๋๋ฌธ์ ์ค์ ๋ก Minimal ๋ฒ์ ์์ Kernel์ ๋บ ์ฉ๋์ด๋ผ๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค. Virtual Machine์ ๋นํ๋ฉด ์์ฒญ๋๊ฒ ์์ ์ฉ๋์ ๋๋ค.
์ด๋ฏธ์ง๋ฅผ ๋ด๋ ค๋ฐ์์ผ๋ ๋ง์ง๋ง์ผ๋ก ์ปจํ ์ด๋๋ง ์์ฑํ๋ฉด ๋ฉ๋๋ค.
# docker run -i -t --name DOCKERSERVER ubuntu /bin/bash
์ ๋ช ๋ น์ด๋ ์ปจํ ์ด๋๋ฅผ ์์ฑํ๊ณ ์คํํ๋ ๋ช ๋ น์ด์ ๋๋ค. -i ์ต์ ๊ณผ -t ์ต์ ์ ์ฃผ๊ฒ ๋๋ฉด tty๊ฐ ์คํ๋์ด ํด๋น ์ด๋ฏธ์ง ์์ ์ด๋ค ๋ฐ์ด๋๋ฆฌ ํ์ผ์ ์คํํ ์ ์์ต๋๋ค. ๋ ํด๋น ์ปจํ ์ด๋์ ์ด๋ฆ์ ์๊ธธ ์๋ ์์ต๋๋ค.
๊ทธ๋์ ์ ๋ DOCKERSERVER๋ผ๋ ์ด๋ฆ์ ์ปจํ ์ด๋๋ฅผ ํ์ฌ ๋ด๊ฐ ๊ฐ์ง๊ณ ์๋ ubuntu์ ์ด๋ฏธ์ง๋ก ์์ฑํ ํ, tty๋ฅผ ๋์ bash ํฐ๋ฏธ๋์ ์คํํ์ธ์. ๋ผ๋ ๋ช ๋ น์ด๋ฅผ ์ํํ์์ต๋๋ค.
์์ ๊ฐ์ด ํธ์คํธ๋ค์์ด ์ด๋ค ๋๋คํ ์ซ์๋ก ๋ฌ๋ค๋ฉด, ์ปจํ ์ด๋ ์์ฑ์ด ์๋ฃ๋ ๊ฒ์ ๋๋ค. ์์ ์ฐํ ํธ์คํธ์ด๋ฆ์ ์ปจํ ์ด๋์ ๊ณ ์ ์ด๋ฆ์ผ๋ก, ์ฐจํ์ ์ปจํ ์ด๋ ์ด๋ฆ ์ธ์ ๋ณ๋์ ๊ณ ์ ์ด๋ฆ์ผ๋ก ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค.
'Infrastructure > Docker' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Docker] HAProxy๋ฅผ ์ด์ฉํ ๋ก๋ ๋ฐธ๋ฐ์ฑ (0) | 2020.06.14 |
---|---|
[Docker] nginx web server๋ฅผ ์ด์ฉํ ๋ก๋ ๋ฐธ๋ฐ์ฑ (0) | 2020.06.10 |
Docker ์ฌ์ฉ์ ์ ์ ๋คํธ์ํฌ ๊ตฌ์ฑ (0) | 2016.07.24 |
Docker ๋คํธ์ํฌ ๊ตฌ์ฑ๊ณผ ์ค์ (0) | 2016.07.20 |