์ต๊ทผ์ docker ๋ฒ์ 1.13 ๋ฐ docker-compose 1.10.0์ผ๋ก ์
๊ทธ๋ ์ด๋ํ์ต๋๋ค.
docker compose ํ์ผ(๋ฒ์ 2 ๋๋ ๋ฒ์ 3)์ ์ฌ์ฉํ ๋ docker-compose up
docker-compose pull <service_name>
๋ช
๋ น์ ์คํํ๋ฉด ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
$ ๋์ปค ์์ฑ
myredis(redis:latest)๋ฅผ ๊ฐ์ ธ์ค๋ ์ค...
์ญ์ถ์ (๊ฐ์ฅ ์ต๊ทผ ํธ์ถ ๋ง์ง๋ง):
ํ์ผ "/usr/local/bin/docker-compose", 11ํ,
sys.exit(๋ฉ์ธ())
ํ์ผ "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py", 64ํ, ๋ฉ์ธ
๋ช
๋ น()
perform_command์์ ํ์ผ "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py", 116ํ
ํธ๋ค๋ฌ(๋ช
๋ น, command_options)
ํ์ผ "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py", 848ํ, ์๋ก
remove_orphans=remove_orphans)
ํ์ผ "/usr/local/lib/python2.7/dist-packages/compose/project.py", ์ค 389, ์๋ก
svc.ensure_image_exists(do_build=do_build)
ํ์ผ "/usr/local/lib/python2.7/dist-packages/compose/service.py", 312ํ,sure_image_exists์์
self.pull()
ํ์ผ "/usr/local/lib/python2.7/dist-packages/compose/service.py", 878ํ, ํ
์ถ๋ ฅ = self.client.pull(๋ฆฌํฌ์งํ ๋ฆฌ, ํ๊ทธ=ํ๊ทธ, ์คํธ๋ฆผ=True)
ํ์ผ "/usr/local/lib/python2.7/dist-packages/docker/api/image.py", 333ํ, ํ
ํค๋ = auth.get_config_header(์์ฒด, ๋ ์ง์คํธ๋ฆฌ)
AttributeError: 'module' ๊ฐ์ฒด์ 'get_config_header' ์์ฑ์ด ์์ต๋๋ค.
์ฌ๊ธฐ ๋ด ์์ฑ ํ์ผ์ด ์์ต๋๋ค. ๋ฒ์ 2์ 3 ๋ชจ๋ ๋์ผํ ์ค๋ฅ๋ก ์คํจํฉ๋๋ค.
~/๋ค์ด๋ก๋ $ cat docker-compose.yml
version: '2'
services:
myredis:
image: redis:alpine
~/๋ค์ด๋ก๋ $ cat docker-compose.yml
version: '3'
services:
myredis:
image: redis:alpine
~/๋ค์ด๋ก๋ $ docker ๋ฒ์
๊ณ ๊ฐ:
๋ฒ์ : 1.13.0
API ๋ฒ์ : 1.25
์ด๋ ๋ฒ์ : go1.7.3
ํ๋ด ์ปค๋ฐ: 49bf474
์์ฑ์ผ: 2017๋
1์ 17์ผ ํ 09:58:26
OS/์์น: linux/amd64
์ฌ๊ธฐ๋ ์ฌ๋:
๋ฒ์ : 1.13.0
API ๋ฒ์ : 1.25(์ต์ ๋ฒ์ 1.12)
์ด๋ ๋ฒ์ : go1.7.3
ํ๋ด ์ปค๋ฐ: 49bf474
์์ฑ์ผ: 2017๋
1์ 17์ผ ํ 09:58:26
OS/์์น: linux/amd64
์คํ์ : ๊ฑฐ์ง
~/๋ค์ด๋ก๋ $ docker ์ ๋ณด
๊ฒฝ๊ณ : ์ค์ ์ ํ ์ง์ ์์
์ปจํ
์ด๋: 5
์คํ: 0
์ผ์์ค์ง: 0
์ค์ง๋จ: 5
์ด๋ฏธ์ง: 59
์๋ฒ ๋ฒ์ : 1.13.0
์ ์ฅ ๋๋ผ์ด๋ฒ: aufs
๋ฃจํธ ๋๋ ํ ๋ฆฌ: /var/lib/docker/aufs
๋ฐฑ์
ํ์ผ ์์คํ
: extfs
๋๋ ํ ๋ฆฌ: 104
Dirperm1 ์ง์: true
๋ก๊น
๋๋ผ์ด๋ฒ: json-file
Cgroup ๋๋ผ์ด๋ฒ: cgroupfs
ํ๋ฌ๊ทธ์ธ:
๋ณผ๋ฅจ: ๋ก์ปฌ
๋คํธ์ํฌ: ๋ธ๋ฆฌ์ง ํธ์คํธ macvlan null ์ค๋ฒ๋ ์ด
๋ฌด๋ฆฌ: ๋นํ์ฑ
๋ฐํ์: runc
๊ธฐ๋ณธ ๋ฐํ์: runc
์ด๊ธฐํ ๋ฐ์ด๋๋ฆฌ: docker-init
์ปจํ
์ด๋ ๋ฒ์ : 03e5862ec0d8d3b3f750e19fca3ee367e13c090e
runc ๋ฒ์ : 2f7393a47307a16f8cee44a37b262e8b81021e3e
์ด๊ธฐํ ๋ฒ์ : 949e6fa
๋ณด์ ์ต์
:
๋ณต์ฅ
์ด์ปด
ํ๋กํ: ๊ธฐ๋ณธ๊ฐ
์ปค๋ ๋ฒ์ : 4.4.0-53-์ผ๋ฐ
์ด์ ์ฒด์ : ์ฐ๋ถํฌ 16.04.1 LTS
OS ์ ํ: ๋ฆฌ๋
์ค
์ํคํ
์ฒ: x86_64
CPU: 8
์ด ๋ฉ๋ชจ๋ฆฌ: 15.55GiB
์ด๋ฆ: ํธ์ง๋จ
์์ด๋: EWM5: UMNC:4KLA : MYJK:FZ7F : JSKE:D2NB : CICK:KL33 : QWEE:9000 :K6OJ
๋์ปค ๋ฃจํธ ๋๋ ํ ๋ฆฌ: /var/lib/docker
๋๋ฒ๊ทธ ๋ชจ๋(ํด๋ผ์ด์ธํธ): false
๋๋ฒ๊ทธ ๋ชจ๋(์๋ฒ): false
์ฌ์ฉ์ ์ด๋ฆ: ํธ์ง๋จ
๋ ์ง์คํธ๋ฆฌ: https://index.docker.io/v1/
์คํ์ : ๊ฑฐ์ง
์์ ํ์ง ์์ ๋ ์ง์คํธ๋ฆฌ:
127.0.0.0/8
๋ผ์ด๋ธ ๋ณต์ ํ์ฑํ๋จ: false
~/๋ค์ด๋ก๋ $ docker-compose ๋ฒ์
docker-compose ๋ฒ์ 1.10.0, ๋น๋ 4bd6f1a
docker-py ๋ฒ์ : 2.0.2
CPython ๋ฒ์ : 2.7.12
OpenSSL ๋ฒ์ : OpenSSL 1.0.2g 2016๋
3์ 1์ผ
~/๋ค์ด๋ก๋ $ uname -ra
Linux ํธ์ง๋จ 4.4.0-53-generic #74-Ubuntu SMP Fri Dec 2 15:59:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
~/๋ค์ด๋ก๋ $ lsb_release -ar
๋ฐฐํฌ์ ID: ์ฐ๋ถํฌ
์ค๋ช
: ์ฐ๋ถํฌ 16.04.1 LTS
์ถ์: 16.04
์ฝ๋๋ค์: xenial
์ฌ์ฉ ๊ฐ๋ฅํ LSB ๋ชจ๋์ด ์์ต๋๋ค.
docker ์์ฒด(docker-compose ์์ด)๋ ์ ์๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
~/๋ค์ด๋ก๋ $ docker run -it redis:alpine
๋ก์ปฌ์์ ' redis:alpine ' ์ด๋ฏธ์ง๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
alpine: ๋ผ์ด๋ธ๋ฌ๋ฆฌ/๋ ๋์ค์์ ๊ฐ์ ธ์ค๊ธฐ
0a8490d0dfd3: ํ ์๋ฃ
c8d0e817ebe2: ํ ์๋ฃ
7f2a4f935feb: ํ ์๋ฃ
0b43e209f780: ๊ฐ์ ธ์ค๊ธฐ ์๋ฃ
b06b9be4b2bc: ํ ์๋ฃ
5de037257f43: ๋น๊ธฐ๊ธฐ ์๋ฃ
๋ค์ด์ ์คํธ: sha256:a06a61747e4a7b46788e2813b21ea6b06386df8e238e56f51f8793adb48f0a8b
์ํ: redis:alpine ์ ๋ํ ์ต์ ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ก๋ํ์ต๋๋ค.
1:C 25 Jan 08:59:26.533 # ๊ฒฝ๊ณ : ๊ธฐ๋ณธ ๊ตฌ์ฑ์ ์ฌ์ฉํ๋ ๊ตฌ์ฑ ํ์ผ์ด ์ง์ ๋์ง ์์์ต๋๋ค. ์ค์ ํ์ผ์ ์ง์ ํ๋ ค๋ฉด redis-server /path/to/redis.conf๋ฅผ ์ฌ์ฉํ์ญ์์ค.
_._
_.- __ ''-._
_.-
.
_. ''-._ Redis 3.2.6(00000000/0) 64๋นํธ
.-`` .- .
\/ _.,_ ''-._
....
...
..
๋๋ ๋ง์นจ๋ด ๊ทธ๊ฒ์ ๊ณ ์ณค์ต๋๋ค. ๋ฌด์์ด ํจ๊ณผ๊ฐ ์์๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค :์ํฌ: ๋ฐฉ๊ธ ๋ถ๋ก ๋ฌผ๊ฑด์ ํต์ ๋ฐ์๊ณ ๋ชจ๋ ๊ฒ์ด ์ ์์ผ๋ก ๋์๊ฐ์ต๋๋ค.
๋ด๊ฐ ์ฌ์ฉํ ํต ๋ฐ์ฌ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
docker stop $(docker ps -a -q)
# ๋ชจ๋ ๋์ปค ์ปจํ
์ด๋ ์ค์ง
docker rm -f $(docker ps -a -q)
# ๋ชจ๋ ๋์ปค ์ปจํ
์ด๋ ์ ๊ฑฐ
docker images -q | xargs docker rmi -f
# ๋ชจ๋ ๋์ปค ์ด๋ฏธ์ง ์ ๊ฑฐ
sudo pip uninstall docker-compose
# docker-compose ์ ๊ฑฐ
๊ทธ๋ฐ ๋ค์ docker-compose๋ฅผ ๋ค์ ์ค์นํ์ต๋๋ค.
sudo pip install -U docker-compose
https://github.com/docker/compose/issues?utf8=%E2%9C%93&q=AttributeError%3A%20%27module%27%20object%20has%20no%20attribute%20%27get_config_header%27 :slightly_smiling_face:
https://github.com/docker/compose/issues/4344#issuecomment -273932670 :slightly_smiling_face:
centos7์์ "docker-compose"๋ช
๋ น์ ์คํํ๋ ๊ฒ๊ณผ ๋น์ทํ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์๋ฒ๋ฅผ ๋ค์ ์์ํ๋๋ฐ ๋ค์ ์๋ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋๋๋ก ๋ฌธ์ ๊ฐ ๋ค์ ๋ฐ์ํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋๋ ๋ง์นจ๋ด ๊ทธ๊ฒ์ ๊ณ ์ณค์ต๋๋ค. ๋ฌด์์ด ํจ๊ณผ๊ฐ ์์๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค :์ํฌ: ๋ฐฉ๊ธ ๋ถ๋ก ๋ฌผ๊ฑด์ ํต์ ๋ฐ์๊ณ ๋ชจ๋ ๊ฒ์ด ์ ์์ผ๋ก ๋์๊ฐ์ต๋๋ค.
๋ด๊ฐ ์ฌ์ฉํ ํต ๋ฐ์ฌ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
docker stop $(docker ps -a -q)
# ๋ชจ๋ ๋์ปค ์ปจํ ์ด๋ ์ค์งdocker rm -f $(docker ps -a -q)
# ๋ชจ๋ ๋์ปค ์ปจํ ์ด๋ ์ ๊ฑฐdocker images -q | xargs docker rmi -f
# ๋ชจ๋ ๋์ปค ์ด๋ฏธ์ง ์ ๊ฑฐsudo pip uninstall docker-compose
# docker-compose ์ ๊ฑฐ๊ทธ๋ฐ ๋ค์ docker-compose๋ฅผ ๋ค์ ์ค์นํ์ต๋๋ค.
sudo pip install -U docker-compose