Compose: docker-compose๊ฐ€ AttributeError์™€ ํ•จ๊ป˜ ์‹คํŒจํ•จ: 'module' ๊ฐœ์ฒด์— 'get_config_header' ์†์„ฑ์ด ์—†์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2017๋…„ 01์›” 25์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: docker/compose

์ตœ๊ทผ์— 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

๋ชจ๋“  3 ๋Œ“๊ธ€

๋‚˜๋Š” ๋งˆ์นจ๋‚ด ๊ทธ๊ฒƒ์„ ๊ณ ์ณค์Šต๋‹ˆ๋‹ค. ๋ฌด์—‡์ด ํšจ๊ณผ๊ฐ€ ์žˆ์—ˆ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค :์œ™ํฌ: ๋ฐฉ๊ธˆ ๋ถˆ๋กœ ๋ฌผ๊ฑด์— ํ•ต์„ ๋ฐ•์•˜๊ณ  ๋ชจ๋“  ๊ฒƒ์ด ์ •์ƒ์œผ๋กœ ๋Œ์•„๊ฐ”์Šต๋‹ˆ๋‹ค.
๋‚ด๊ฐ€ ์‚ฌ์šฉํ•œ ํ•ต ๋ฐœ์‚ฌ ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
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

centos7์—์„œ "docker-compose"๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ๊ณผ ๋น„์Šทํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.
์„œ๋ฒ„๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ–ˆ๋Š”๋ฐ ๋‹ค์‹œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋•Œ๋•Œ๋กœ ๋ฌธ์ œ๊ฐ€ ๋‹ค์‹œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰