Compose: ๋ฐ”์ธ๋“œ ๋งˆ์šดํŠธ (๋ณผ๋ฅจ)๋Š” ํŒŒ์ผ์— ํ—ˆ์šฉ๋˜์ง€ ์•Š๊ณ  ๋””๋ ‰ํ† ๋ฆฌ ๋งŒ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2014๋…„ 08์›” 19์ผ  ยท  94์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: docker/compose

์•ผ,
๋‹จ์ผ ํŒŒ์ผ (๋””๋ ‰ํ† ๋ฆฌ ๋Œ€์‹ )์„ ๋งˆ์šดํŠธํ•˜๋ ค๊ณ ํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋„์ปค์—์„œ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค !!!

๊ทธ๋ฆผ yml

```์„œ๋ฒ„ :
๋นŒ๋“œ : docker-freeipa
ํฌํŠธ :
- '2222 : 22'
- "53"
- "80:80"
- "443 : 443"
- "389 : 389"
- "636 : 636"
- "88:88"
- "464 : 464"
- '123 : 123'

environment:
    PASSWORD:   **************
    FORWARDER:  192.168.***.***

hostname:     freeipa
domainname:   ****.*****

privileged:   true

volumes:
    - /etc/eb8/freeIPA/server/etc/httpd/conf.d/:/etc/httpd/conf.d
    - /etc/eb8/freeIPA/server/etc/httpd/conf/:/etc/httpd/conf
    - /etc/eb8/freeIPA/server/etc/ipa/:/etc/ipa
    - /etc/eb8/freeIPA/server/etc/krb5.conf:/etc/krb5.conf
    - /etc/eb8/freeIPA/server/etc/pki-ca/:/etc/pki-ca
    - /etc/eb8/freeIPA/server/etc/ssh/:/etc/ssh
    - /etc/eb8/freeIPA/server/etc/sssd/:/etc/sssd
    - /etc/eb8/freeIPA/server/root/:/root
    - /etc/eb8/freeIPA/server/var/cache/ipa:/var/cache/ipa
    - /etc/eb8/freeIPA/server/var/lib/dirsrv/:/var/lib/dirsrv
    - /etc/eb8/freeIPA/server/var/lib/ipa-client/:/var/lib/ipa-client
    - /etc/eb8/freeIPA/server/var/lib/ipa/:/var/lib/ipa
    - /etc/eb8/freeIPA/server/var/log/:/var/log

```

arevolumes kinbug

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋ฟก ๋นต๋€จ

bind-mountํ•˜๋ ค๋Š” ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ docker๋Š” ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์˜ˆ์ƒํ•˜๋Š”์ง€ ํ™•์ธํ•  ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค (/usr/src/app/app.conf๊ฐ€ '์กด์žฌํ•˜์ง€ ์•Š์Œ), ๋„์ปค ๋ฐ๋ชฌ์€ ํ•ด๋‹น ์œ„์น˜์— ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ  ์ปจํ…Œ์ด๋„ˆ์— ๋ฐ”์ธ๋”ฉ ๋งˆ์šดํŠธํ•ฉ๋‹ˆ๋‹ค.
๊ฒฝ๋กœ์˜ ์ž๋™ ์ƒ์„ฑ์„ ์ง€์› ์ค‘๋‹จ / ์ œ๊ฑฐํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์ง€๋งŒ (๋Œ€์‹  ์˜ค๋ฅ˜ ์ƒ์„ฑ) ์ด์ „ ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ณ€๊ฒฝ (์ผ๋ถ€ ์‚ฌ๋žŒ๋“ค์€์ด ๋™์ž‘์— ์˜์กด)์ด ๋„ˆ๋ฌด ๋งŽ์œผ๋ฏ€๋กœ์ด ๋™์ž‘์„ ์œ ์ง€ํ•ด์•ผํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์ •ํ™•ํžˆ 6 ์‹œ๊ฐ„ ๋™์•ˆ ์‹œ๋„ํ–ˆ์ง€๋งŒ ์ง€๊ธˆ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ฒŒ ๋œ ํ›„ ๋งค์šฐ ์‹ค๋งํ–ˆ์Šต๋‹ˆ๋‹ค.
:ro ๋ฐ :rw ์™€ ๊ฐ™์€ ์ถ”๊ฐ€ ๋งˆ์šดํŠธ ์˜ต์…˜์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ๊ณ ๋ คํ•˜์—ฌ "ํŒŒ์ผ ํ”Œ๋ž˜๊ทธ"์™€ ๊ฐ™์€ ๊ฒƒ์„ ๋ณผ๋ฅจ ์„ ์–ธ์— ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

volumes:
  - "./config.json:/app/config.json:rwf"

์ปจํ…Œ์ด๋„ˆ ํŒŒ์ผ์„ ํ˜ธ์ŠคํŠธ ํŒŒ์ผ์— ๋งคํ•‘ ํ•  ๋•Œ ์ปจํ…Œ์ด๋„ˆ ์ดˆ๊ธฐํ™”์‹œ ํ˜ธ์ŠคํŠธ ํŒŒ์ผ์ด ์ƒ์„ฑ (์ปจํ…Œ์ด๋„ˆ์—์„œ ๋ณต์‚ฌ) ๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•ฉ๋‹ˆ๋‹ค.
๋ถˆํ–‰ํžˆ๋„ ๊ตฌ์„ฑ ํŒŒ์ผ์ด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ง์ ‘ ๋“ค์–ด์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ฐพ๋Š” ๊ฒƒ์€ ๋งค์šฐ ์ผ๋ฐ˜์ ์ด๋ฉฐ, ์ „์ฒด ๋ฃจํŠธ๋ฅผ "๋ณผ๋ฅจํ™”"ํ•˜๊ณ  ์‹ถ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ด๊ฒƒ์ด ์ž‘๋™ํ•œ๋‹ค๋ฉด ํŠนํžˆ ์œ ์šฉ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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

๊ทธ๋ž˜,์ด๊ฒŒ ๋‚˜๋ฅผ ๋˜๋Œ๋ ค ๋†“๊ณ ์žˆ์–ด!

fig kill ๋ฐ fig rm ํ›„์— ์ž‘๋™ํ•ฉ๋‹ˆ๊นŒ? VolumesFrom ์˜ Docker ๋ฒ„๊ทธ๋ผ๋Š” ์˜์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค : https://github.com/docker/fig/issues/328#issuecomment -50926263

fig kill ๋ฐ fig rm ํ›„์— ์ž‘๋™ํ•ฉ๋‹ˆ๊นŒ? VolumesFrom ์˜ Docker ๋ฒ„๊ทธ๋ผ๋Š” ์˜์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค : https://github.com/docker/fig/issues/328#issuecomment -50926263

์•„๋‹ˆ ์ •๋ง,

ํŒŒ์ผ๊ณผ ํ•จ๊ป˜ ๋ณผ๋ฅจ์„ ์‚ฌ์šฉํ•˜๋Š” ๋™์•ˆ ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค ...

์—ฌ๊ธฐ VFS์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
Execution Driver: native-0.2
Kernel Version: 3.10.42-xenU-12-e888729-x86_64
Operating System: Ubuntu 14.04 LTS

ํ•˜์ง€๋งŒ ๋‚ด ๊ฐœ์ธ์šฉ ์ปดํ“จํ„ฐ์—์„œ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

$ docker info
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
Execution Driver: native-0.2
Kernel Version: 3.13.0-35-generic
Operating System: Ubuntu 14.04.1 LTS

๊ธฐ๋ก์„ ์œ„ํ•ด ๋„์ปค ๋ฒ„์ „ ์ถœ๋ ฅ์€ ๋™์ผํ•˜์ง€๋งŒ 1.2์—์„œ๋„ ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ–ˆ์Œ์„ ๊ธฐ์–ตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ ‡๊ฒŒ ์ค‘์š”ํ•˜์ง€ ์•Š๋‹ค๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค.

Client version: 1.3.0
Client API version: 1.15
Go version (client): go1.3.3
Git commit (client): c78088f
OS/Arch (client): linux/amd64
Server version: 1.3.0
Server API version: 1.15
Go version (server): go1.3.3
Git commit (server): c78088f

๊ทธ๋ž˜์„œ ์ œ๊ฐ€ ๋ฐœ๊ฒฌ ํ•  ์ˆ˜์žˆ๋Š” ์œ ์ผํ•œ ์ฐจ์ด์ ์€ ์ปค๋„ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ (์ž‘๋™ํ•˜์ง€ ์•Š๋Š”)๋Š” VFS์ด๊ณ  ๋‘ ๋ฒˆ์งธ๋Š” ๋‚ด ์ปดํ“จํ„ฐ์ž…๋‹ˆ๋‹ค. ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š”์ง€ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์ด๋ฉ๋‹ˆ๊นŒ?

ํ , ์˜ค์—ผ๋˜์–ด ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ์˜คํƒ€. ์ด๊ฒƒ์— ์žกํžŒ ์ฒซ ๋ฒˆ์งธ ์‚ฌ๋žŒ์ด ์•„๋‹Œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

(์˜คํƒ€๋กœ ์ธํ•ด) ํ˜ธ์ŠคํŠธ ์ธก์˜ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์œ„์น˜์—์„œ "-v"๊ฐ€ ํ˜ธ์ถœ๋˜๋ฉด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋นˆ ๋””๋ ‰ํ† ๋ฆฌ์™€ ๋ชจ๋“  ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ปจํ…Œ์ด๋„ˆ์—์ด ๋นˆ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งˆ์šดํŠธํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜๊ณ  ํŒŒ์ผ์ด ์ด๋ฏธ ๋Œ€์ƒ ์œ„์น˜์— ์žˆ์Œ์„ ํ™•์ธํ•˜๋ฉด์ด ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๋„ ์ปค๊ฐ€ ํ˜ธ์ŠคํŠธ ์ธก์— ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๋„๋ก ํ—ˆ์šฉํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ด ์Šค๋ ˆ๋“œ๋ฅผ ์˜ค์—ผ์‹œํ‚ค์ง€ ์•Š์œผ๋ ค๋ฉด ์ด์ „ ๋Œ“๊ธ€ (๋ฐ์ด ๋Œ“๊ธ€)์„ ์‚ญ์ œํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ?

๋‚˜๋Š” 2 ์„ผํŠธ๋ฅผ ๋”ํ•˜๊ณ ์ด ์‹ค์„ ๋ถ€๋”ช ํž ๊ฒƒ์ด๋‹ค. docker-compose ์— ๋‹จ์ผ ํŒŒ์ผ์„ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ ๋‹น์žฅ์€ ๊ฐ ์ปจํ…Œ์ด๋„ˆ์— ๋Œ€ํ•ด ๋ณ„๋„์˜ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๊ฐ€์ ธ์•ผํ•˜์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์˜ ์ปจํ…Œ์ด๋„ˆ์—๋Š” 1 ~ 2 ๊ฐœ์˜ ํŒŒ์ผ ๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋‘ ๊ฐ™์€ ํด๋”์— ๋„ฃ์€ ๋‹ค์Œ ๊ฐœ๋ณ„์ ์œผ๋กœ ์ฐธ์กฐํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋ฐ”์ธ๋“œ ๋งˆ์šดํŠธ ํŒŒ์ผ์„ ํฌํ•จํ•˜๋Š” ๋ณผ๋ฅจ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ๋œ ์–ด๋Š ์‹œ์ ์—์„œ ๋ฒ„๊ทธ๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
์˜ค๋Š˜์€ ์ด๊ฒƒ์ด ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋ฐ˜๋ณต๋˜๋Š” ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

@ md5 ์˜ ์ฐธ์กฐ ๋ฐ ๊ธฐํƒ€ ์˜๊ฒฌ์— ๋”ฐ๋ผ ๋‹ค์Œ ์กฐ๊ฑด์—์„œ์ด ๋™์ž‘์„ ์ถฉ์‹คํ•˜๊ฒŒ ์žฌํ˜„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • CentOS 7
  • Docker 1.5.0 (yum ํŒจํ‚ค์ง€ docker-1.5.0-28.el7.centos)
  • ๋„์ปค ์ž‘์„ฑ 1.1.0

์ด ๋™์ž‘์€ yum ํŒจํ‚ค์ง€ docker-1.5.0-1.el7 ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์˜ˆ:

๊ฐ„๋‹จํ•œ ์„œ๋น„์Šค ์„ ์–ธ ์‚ฌ์šฉ :

test:
  image: nginx
  ports:
    - "80:80"
  volumes:
    - sites/test.conf:/etc/nginx/conf.d/default.conf

๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์•„๋‹Œ ํŒŒ์ผ ๋งˆ์šดํŠธ๋ฅผ ๋ฐ”์ธ๋“œํ•˜๋ ค๊ณ  ํ•  ๋•Œ docker-compose ๋Š” ๋‹ค์Œ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

docker create_container <- (name=u'webcluster_test_1', image=u'nginx:latest', environment={}, volumes={u'/etc/nginx/conf.d/default.conf': {}}, detach=True, ports=[u'80'])
file exists at %!s(MISSING), can't create volume there

๊ทธ๋Ÿฌ๋‚˜ ๋™๋“ฑํ•œ docker run ๋ช…๋ น์€ ์„ฑ๊ณตํ•ฉ๋‹ˆ๋‹ค.

docker run --name test -d -p "80:80" \
  -v ${PWD}/sites/test.conf:/etc/nginx/conf.d/default.conf \
  nginx

@dayglojesus Docker์˜ ๊ฐœ๋ฐœ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
docker version ์˜ ์ถœ๋ ฅ์„ ์ œ๊ณต ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
์—ฌ๊ธฐ์—์žˆ๋Š” ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋Š” ๋‹ค์Œ ์ปค๋ฐ‹์—์„œ ๊ฐ€์ ธ์˜จ ๊ฒƒ์ž…๋‹ˆ๋‹ค. https://github.com/docker/docker/commit/b0ed2da4418d62d2d7b940b49e0e89bdcd264569

์ด ์ปค๋ฐ‹์€ Docker์˜ ๋ฆด๋ฆฌ์Šค ๋ฒ„์ „์ด ์•„๋‹ˆ๋ฉฐ ๋งˆ์Šคํ„ฐ์— ์ˆ˜์ • ์‚ฌํ•ญ์ด ์žˆ์œผ๋ฉฐ 1.6 RC ์‹œ๋ฆฌ์ฆˆ์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.

@ cpuguy83 1.6 RC๊ฐ€ ์•„๋‹Œ ๋ฒ„์ „ 1.5.0์ด๋ผ๊ณ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.

Docker version 1.5.0-dev, build fc0329b/1.5.0

์ด๊ฒƒ์€ CentOS 7 yum ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋Š” "๊ณต์‹"๋นŒ๋“œ์ด๋ฉฐ, ๊ฐœ๋ฐœ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์กฐ์ •ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

docker-compose ๊ฐ€์ด ๋™์ž‘์„ ๋‚˜ํƒ€๋‚ด์ง€ docker run ๋Š” ๊ทธ๋ ‡์ง€ ์•Š์€ ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? Docker ๋˜๋Š” docker-compose ์˜ ๋ฒ„๊ทธ์ž…๋‹ˆ๊นŒ?

๋” ๋งŽ์€ ์ •๋ณด๊ฐ€ ํ•„์š”ํ•˜๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”.

@dayglojesus ์˜ˆ, ์ด๊ฒƒ์€ ๊ณ ์ • ํ‘œ์‹œ๊ธฐ์˜ ์ถœ์‹œ ๋ฒ„์ „์ด ์•„๋‹™๋‹ˆ๋‹ค 1.5.0-dev ๊ณ ์ • ํ‘œ์‹œ๊ธฐ 1.5.0 ์ ˆ๋‹จ ์–ธ์  ๊ฐ€ ์ดํ›„์— ๊ฑด์ถ•๋˜์—ˆ๋‹ค.
๋ฆด๋ฆฌ์Šค ๋œ ๋ฒ„์ „์˜ docker์—๋Š” ๋ฒ„๊ทธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

@ cpuguy83 ์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค . ์ด์ƒํ•ฉ๋‹ˆ๋‹ค.์ด ํŒจํ‚ค์ง€๊ฐ€ ์–ด๋–ป๊ฒŒ ์ €์žฅ์†Œ์— ํฌํ•จ๋˜์—ˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. CentOS 7 ์šฉ ์‹ค์ œ Docker 1.5.0 ๋ฆด๋ฆฌ์Šค์™€ ๊ด€๋ จ๋œ yum ํŒจํ‚ค์ง€๋ฅผ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค ... ping @ lsm5

@dayglojesus ๊ทธ๋ž˜์„œ ๋‹น์‹ ์ด ์„ค์น˜ ํ•œ ๊ฒƒ์€ http://wiki.centos.org/Cloud/Docker ๋ฅผ ์ฐธ์กฐ

๊ฑฐ๊ธฐ์—์žˆ๋Š” rhel ํ•ญ๋ชฉ์— ๊ด€์‹ฌ์ด ์žˆ๋‹ค๋ฉด https://bugzilla.redhat.com ์—์„œ ๋ฒ„๊ทธ๋ฅผ

์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ RHEL ํ‹ฐ์ผ“์„ ์ œ์ถœํ–ˆ์Šต๋‹ˆ๋‹ค. https://bugzilla.redhat.com/show_bug.cgi?id=1209625
๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค, @ lsm5.

์Œ, ๋„์ปค 1.5๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์šฐ๋ถ„ํˆฌ 14.04lts์—์„œ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.

Linux mint / ubuntu์—์„œ ๋‚˜์—๊ฒŒ ๋ฐœ์ƒํ•˜๋ฉด ํŒŒ์ผ์ด ์ „ํ˜€ ๋งˆ์šดํŠธ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค (์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ฎ์–ด ์“ฐ๋„๋ก๋˜์–ด ์žˆ์ง€๋งŒ ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค)

etc-localtime ์™€ (๊ณผ) ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Linux guest.vm 3.13.0-49- ์ผ๋ฐ˜ # 81-Ubuntu
  • x86_64 x86_64 x86_64 GNU / Linux
  • ์„ค๋ช… : Ubuntu 14.04.2 LTS
  • ๋ฆด๋ฆฌ์Šค : 14.04
  • ์•”ํ˜ธ๋ช… : ์‹ ๋ขฐํ•  ์ˆ˜์žˆ๋Š”
  • ๋„์ปค ๋ฒ„์ „ 1.5

๋ฌธ์ œ๊ฐ€์žˆ๋Š” ๊ฒฝ์šฐ +1์€ ํŠนํžˆ OP ๋ฌธ์ œ์™€ ์ „ํ˜€ ๊ด€๋ จ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋„์›€์ด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์‹คํ–‰์ค‘์ธ docker comand, ์˜ˆ์ƒ๋˜๋Š” ํ•ญ๋ชฉ, ์‹ค์ œ๋กœ๋ณด๊ณ ์žˆ๋Š” ํ•ญ๋ชฉ์„ ํฌํ•จํ•˜์„ธ์š”.
docker info ๋ฐ docker version ์ถœ๋ ฅ๋„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
๊ฐ์‚ฌ.

@ cpuguy83 ์ข‹์•„, ์—ฌ๊ธฐ ๋‚ด ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ช…๋ น:

docker run -d --name webserver -p 80:80 -v ~/www/:/home/site/www/ -v ~/docker/share/apache_logs/:/home/site/logs -v ~/.gitconfig:/home/site/.gitconfig ...

์ƒํ™ฉ : ~ / .gitconfig๊ฐ€ ํ•ด๋‹น ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ํ˜ธ์ŠคํŠธ์— ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๋Š”๊ฐ€ : ~ / .gitconfig๋Š” ํ˜„์žฌ ์‚ฌ์šฉ์ž๊ฐ€ ์•„๋‹Œ ๋ฃจํŠธ๊ฐ€ ์†Œ์œ  ํ•œ dir๋กœ ์ƒ์„ฑ๋˜๊ณ  ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ  ~ / .gitconfig๋ฅผ ๋งˆ์šดํŠธ ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๋ฉ”์‹œ์ง€์™€ ํ•จ๊ป˜ ์ค‘์ง€๋ฉ๋‹ˆ๋‹ค (์ „์ฒด ๊ฒฝ๋กœ ์‚ฌ์šฉ) ํ‹ธ๋“œ ์†๊ธฐ๊ฐ€ ์•„๋‹Œ ํ…์ŠคํŠธ)

๋‚ด๊ฐ€ ๊ธฐ๋Œ€ํ•˜๋Š” ๊ฒƒ : docker๋Š” ํ˜„์žฌ ์‚ฌ์šฉ์ž๊ฐ€ ์†Œ์œ  ํ•œ ๋นˆ ํŒŒ์ผ๋กœ ~ / .gitconfig๋ฅผ ๋งŒ๋“ค๊ณ  ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ~ / .gitconfig๋ฅผ ์ „ํ˜€ ๋งŒ๋“ค์ง€ ์•Š๊ณ  ๋” ๋‚˜์€ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์„ ๊ฑฐ๋ถ€ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๋„์ปค ์ •๋ณด :

user<strong i="14">@ubuntu14server</strong>:~$ docker info
Containers: 5
Images: 153
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 163
Execution Driver: native-0.2
Kernel Version: 3.16.0-30-generic
Operating System: Ubuntu 14.04.2 LTS
CPUs: 1
Total Memory: 3.847 GiB
Name: ubuntu14server
ID: D52N:QLNG:UE33:N7F3:LZJP:NCF4:6OUS:COOJ:ISL3:2CRK:ZX3U:L3DW
WARNING: No swap limit support
user<strong i="15">@ubuntu14server</strong>:~$ docker version
Client version: 1.5.0
Client API version: 1.17
Go version (client): go1.4.1
Git commit (client): a8a31ef
OS/Arch (client): linux/amd64
Server version: 1.5.0
Server API version: 1.17
Go version (server): go1.4.1
Git commit (server): a8a31ef

@gggeek ์—ฌ๊ธฐ์„œ ๋ฌธ์ œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ํŒŒ์ผ์„ ๊ฐ์ง€ ํ•  ์ˆ˜์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค (์ด์ „์— ๋…ผ์˜
์‹œ์ž‘ ์Šคํฌ๋ฆฝํŠธ์—์„œ docker run ๋ช…๋ น ์•ž์— touch ~/.gitconfig ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

:-D ๊ทธ๊ฒŒ ๋‚ด๊ฐ€ ํ•œ ์ผ์ž…๋‹ˆ๋‹ค.
๊ฒฝ๋กœ 2๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ํด๋”๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๋Š” ๊ฒƒ์€ ์–ด๋–ป์Šต๋‹ˆ๊นŒ?

@gggeek ๊ทธ ๋ฐฐ๋Š” ํ•ญํ•ดํ–ˆ๊ณ  ๋ถˆํ–‰ํžˆ๋„ ํฐ ๋ณ€ํ™”๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

;-( ์˜ค, ๊ธ€์Ž„

Docker version 1.6.0, build 4749651 ์—์ด ๋ฒ„๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ด€๋ จ ๋ฌธ์ œ : https://github.com/docker/docker-py/issues/546

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ๋œ ํ•œ ๊ฐ€์ง€๋ฅผ ์ฐพ์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. AWS์—์„œ ์ตœ์‹  docker-compose (1.20) / docker (1.6.0)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  nginx๋ฅผ ์‹œ์ž‘ํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๋งˆ๋‹ค์ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

Cannot start container e9586e9e936c9b3991283c676bd071abb92a7b6b3bc0b667cf77a68fa4cc9222: [8] System error: mounting into / is prohibited

ํ•„์‚ฌ์ ์œผ๋กœ nginx Dockerfile์„ ์‚ดํŽด ๋ณด์•˜๊ณ  ํ•˜๋‚˜์˜ ๋ณผ๋ฅจ์ด ๋…ธ์ถœ๋˜๋Š” ๊ฒƒ์„ ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ์ด ๋ณผ๋ฅจ์„ ๋‚ด๊ฐ€ ๋งˆ์šดํŠธ ํ•œ ๋ชฉ๋ก์— ์ถ”๊ฐ€ํ–ˆ๊ณ  ๊ฐ‘์ž๊ธฐ ๋ชจ๋“  ๊ฒƒ์ด ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค!

๋”ฐ๋ผ์„œ docker-compose์™€ docker seam์˜ ์ฐจ์ด์ ์€ ๋ณผ๋ฅจ์˜ ๊ธฐ๋ณธ๊ฐ’์ž…๋‹ˆ๋‹ค.

๋ฌธ์ œ๊ฐ€ ์ข…๊ฒฐ๋˜์—ˆ์ง€๋งŒ ํ•ด๊ฒฐ์ฑ…์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
๋„์ปค ์ปจํ…Œ์ด๋„ˆ์— ํŒŒ์ผ์„ ๋งˆ์šดํŠธ ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
Windows์˜ ์ตœ์‹  Docker Toolbox ๋ฒ„์ „ (docker 1.9)
์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด

Cannot start container XXX: [8] System error: not a directory

์†”๋ฃจ์…˜ ์ธ Sascha-Egeria์™€ ๋™์ผํ•ฉ๋‹ˆ๊นŒ?

์‹ ๊ณ ํ•˜์‹  ๋ฌธ์ œ๋Š”์ด ๋ฌธ์ œ์™€ ๋™์ผํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ์˜ค๋ž˜ ์ „์— ์ˆ˜์ • ๋œ ์ด์ „ ๋ฒ„์ „์˜ Docker ๋ฒ„๊ทธ์˜€์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๊ฐ€ # 2268๊ณผ ๊ด€๋ จ๋œ ๊ฒƒ์œผ๋กœ ๋“ค๋ฆฌ๋‚˜์š”? ๋‹น์‹ ์˜ ์ „์ฒด ์ถœ๋ ฅ์ด ๋ฌธ์ œ์— ๊ฒŒ์‹œ ํ•  ์ˆ˜์žˆ๋Š” ๊ฒฝ์šฐ docker-compose version , docker info , ๋‹น์‹ ์˜ ๋‚ด์šฉ docker-compose.yml , ๋‹น์‹ ์€ ์‹คํ–‰ ํ•œ ๋ช…๋ น, ์šฐ๋ฆฌ๋Š” ๋” ๋””๋ฒ„๊น… ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ๋ฌธ์ œ.

๋งˆ์นจ๋‚ด Git Bash์™€ "docker-machine ssh [MACHINE]"๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‚ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์—ฌ Docker์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
Windows์—์„œ Docker Quickstart Terminal (1.9d)์˜ ์ƒˆ๋กœ์šด ์…ธ์€ ์ •๋ง ์ข‹์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
Docker ์ž‘์„ฑ : 1.5.1
Docker : 1.9.1

nginx:
  image: nginx
  links:
   - web
  volumes:
   - .:/code
   - ./docker/nginx.conf:/etc/nginx/conf.d/default.conf <------
  ports:
   - "80:80"

@ jordi12100 ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์–ป๊ณ  ์žˆ๋‹ค๋ฉด ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€์— /etc/server.conf ํŒŒ์ผ์ด์žˆ๋Š” server.conf:/etc/server.conf ๋กœ ๋งˆ์šดํŠธํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜๋Š” docker 1.9.1์—์„œ ์žฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ƒ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด docker๊ฐ€ ํ˜ธ์ŠคํŠธ ํŒŒ์ผ์„ ํด๋” ์ด๋ฆ„์œผ๋กœ ๊ฐ„์ฃผํ•ฉ๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ์—์žˆ๋Š” ํŒŒ์ผ์ด๊ณ  ๊ธฐ์กด ํŒŒ์ผ /etc/server.conf ํด๋”๋ฅผ ๋งˆ์šดํŠธ ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

์— ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ server.conf ๋‚˜์— ๋Œ€ํ•œ ์ˆ˜์ • ๋ฌธ์ œ๋ฅผ docker run -v /absolute/path/to/server.conf:/etc/server.conf ... ์™€ ๊ณ ์ • ํ‘œ์‹œ๊ธฐ ์ทจ๊ธ‰์„ server.conf ํ‰์†Œ ํŒŒ์ผ๋กœ์—๊ฒŒ.

์ƒ๋Œ€ ๊ฒฝ๋กœ๋Š” . ์‹œ์ž‘ํ•ด์•ผํ•˜๋ฏ€๋กœ ./server.config ํ•ด๋ณด์„ธ์š”.

์ด๊ฒƒ์ด ์—†์œผ๋ฉด ๋ช…๋ช… ๋œ ๋ณผ๋ฅจ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.

๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉฐ . ๋„ ํŒŒ์ผ์„ ๋งˆ์šดํŠธ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. Docker (๋˜๋Š” docker-compose?)๋Š” ์ ˆ๋Œ€ ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š” ํ•œ ํŒŒ์ผ์„ ํด๋”๋กœ ๊ฐ„์ฃผํ•ฉ๋‹ˆ๋‹ค.

Docker : 1.9.1
Docker ์ž‘์„ฑ : 1.5.2

docker-compose works์™€ ํ•จ๊ป˜ ./server.conf:/etc/server.conf ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. ๊ทธ๋Ÿฌ๋‚˜ docker CLI์˜ -v ์˜ต์…˜์€ ์ž˜๋ชป๋œ ๊ฒฝ๋กœ์— ๋Œ€ํ•ด ๋ถˆํ‰ํ•˜๊ณ  ๋งˆ์šดํŠธ ํ•  ํŒŒ์ผ์— ๋Œ€ํ•œ ์ ˆ๋Œ€ ๊ฒฝ๋กœ ๋งŒ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

@kirisetsz ๋งž์Šต๋‹ˆ๋‹ค; docker-compose๋Š” docker-compose.yml ํŒŒ์ผ์— ์ƒ๋Œ€์ ์ธ ์ƒ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. Compose๋Š” ์ƒ๋Œ€ ๊ฒฝ๋กœ์—์„œ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ์˜ ๋ณ€ํ™˜์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. docker (comose๊ฐ€ ์•„๋‹˜)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ „์ฒด ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•˜์ง€ ์•Š์œผ๋ ค๋ฉด -v $(pwd)/server.conf:/etc/server.conf ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
Mac OS X.10.11.3
Docker version 1.9.1, build a34a1d5
docker-compose version 1.5.2, build 7240ff3
์ ˆ๋Œ€ ๋˜๋Š” ์ƒ๋Œ€ ํ˜ธ์ŠคํŠธ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•˜๋”๋ผ๋„ ๋™์ผํ•œ ์‘๋‹ต์ด ์žˆ์Šต๋‹ˆ๋‹ค.
ERROR: Cannot start container a9ed08a3ee639f61ff2720745011c940a5fff5b9b98bda6a45156a80381c5328: [8] System error: not a directory
์ฐธ๊ณ  :

nginx:
  image: nginx
  ports:
    - 8080:80
    - 8443:443
  volumes_from:
    - application
  volumes:
    - ./SCM/Data/Etc/Configuration/nginx.conf:/etc/nginx/conf.d/default.conf:ro
    - ./LOGS/nginx:/var/log/nginx:rw
  links:
    - fpm

๋‚˜๋Š” ๋˜ํ•œ์ด ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค

composer:
    image: php7-composer:latest
    working_dir: /data/application
    volumes:
      - ./.composer/cache:/var/composer/cache:rw
      - ./.composer/auth.json:/var/composer/auth.json:rw

์ด ์˜ˆ์—์„œ auth.json์€ ํ˜ธ์ŠคํŠธ ๋จธ์‹ ์˜ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ƒ์„ฑ๋˜๋ฉฐ ํŒŒ์ผ์ด์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ฒ˜์Œ์— auth.json์„ ํ˜ธ์ŠคํŠธ ๋จธ์‹ ์— ๋„ฃ์œผ๋ฉด ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์•„๋‹ˆ๋ผ๊ณ  ๋ถˆํ‰ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜์—๊ฒŒ๋„ ์‹œ๋„ ํ•  ๋•Œ :

๋ณผ๋ฅจ :
-./docker/default.conf:/etc/nginx/conf.d/default.conf

์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค : ERROR : Cannot start container 9f ...... f1e : [9] ์‹œ์Šคํ…œ ์˜ค๋ฅ˜ : ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

conf.d๋ฅผ ๋‹ค๋ฅธ ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด ์ž‘๋™ํ•˜์ง€๋งŒ default.conf๋ฅผ ํŒŒ์ผ ๋Œ€์‹  ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๋งˆ์šดํŠธํ•ฉ๋‹ˆ๋‹ค.

์œˆ๋„์šฐ 10
docker ๋ฒ„์ „ : 1.10.1
docker-compose ๋ฒ„์ „ 1.6.0, ๋นŒ๋“œ cdb920a

์ด ๋ฒ„๊ทธ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š๊ณ  ์ข…๋ฃŒ๋˜์—ˆ์œผ๋ฏ€๋กœ ๋‹ค์‹œ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์—ฌ์ „ํžˆ ์ผ์–ด๋‚˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ๊ฒฝ์šฐ๋Š” /etc/nginx/nginx.conf ์•„๋ž˜์˜ nginx ์ด๋ฏธ์ง€์— nginx.conf ํŒŒ์ผ์„ ๋งˆ์šดํŠธํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜๋Š” ๋‹ค๋ฅธ ๋งŽ์€ ๊ฒฝ์šฐ์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

docker-compose.yml์—์„œ :

nginx:
  image: "nginx:1.9.7"
  ports:
    - "80:80"
    - "443:443"
  volumes:
    - "./config/nginx.conf:/etc/nginx/nginx.conf:ro"
    - "./config/development-cert.pem:/etc/nginx/cert.pem:ro"
    - "./config/development-key.pem:/etc/nginx/key.pem:ro"

์‚ฐ์ถœ:

$ docker-compose up -d nginx
Starting example_nginx_1
ERROR: Cannot start container 81f4237f3f0e962d8861ca30744bfd78c3b61b4ea5891a19c712c682ecc5142c: [9] System error: not a directory

VMware Fusion ํ”Œ๋Ÿฌ๊ทธ์ธ (VMware Fusion 8.1.0)๊ณผ CoreOS ํ˜ธ์ŠคํŠธ๊ฐ€์žˆ๋Š” Vagrant VM์„ ์‚ฌ์šฉํ•˜์—ฌ OS X (10.11.3)์—์„œ Docker๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ด€๋ จ ๋ฒ„์ „ ์ •๋ณด :

$ vagrant -v
Vagrant 1.8.1

$ vagrant plugin list
vagrant-vmware-fusion (4.0.8)

$ docker-compose -v
docker-compose version 1.6.0, build unknown

$ docker info
Containers: 6
 Running: 5
 Paused: 0
 Stopped: 1
Images: 6
Server Version: 1.10.1
Storage Driver: overlay
 Backing Filesystem: extfs
Execution Driver: native-0.2
Logging Driver: json-file
Plugins:
 Volume: local
 Network: host bridge null
Kernel Version: 4.4.1-coreos
Operating System: CoreOS 970.1.0 (Coeur Rouge)
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 2.391 GiB
Name: localhost
ID: 73NW:JIK2:PTGX:3JVG:JZM4:NON4:DXOD:NAUU:UN7Q:T3F5:ZMZG:UWGR
Username: redacted
Registry: https://index.docker.io/v1/

$ docker version
Client:
 Version:      1.10.1
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   9e83765
 Built:        Fri Feb 12 22:11:40 UTC 2016
 OS/Arch:      darwin/amd64

Server:
 Version:      1.10.1
 API version:  1.22
 Go version:   go1.4.3
 Git commit:   88b8b3a
 Built:
 OS/Arch:      linux/amd64

์—ฌ๊ธฐ ๋‚ด ์˜๊ฒฌ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค : https://github.com/docker/compose/issues/424#issuecomment -157751229

์˜ค๋ฅ˜๋Š” ๋™์ผํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ์ง€๋งŒ ๋‹ค๋ฅธ ๋ฌธ์ œ๋กœ ์ธํ•ด ๋ฐœ์ƒํ–ˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ํฝ๋‹ˆ๋‹ค.

https://github.com/docker/docker/issues/13670 ๋ฐ https://github.com/docker/docker/issues/19304 ๋„ ์ฐธ์กฐ ํ•˜์„ธ์š” .

์„ค์ • ํ•œ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์ด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค๋Š”๋ณด๊ณ ๋„ ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‹น์‹ ์ด ์ด๋Ÿฌํ•œ ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜์— ๋ถ€๋”ช ์น˜๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

https://github.com/brikis98/docker-osx-dev๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์‹ญ์‹œ์˜ค

์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ๋จธ๋ฆฌ์นด๋ฝ์„ ๋ชจ๋‘ ๋นผ๋‚ธ ํ›„ ํด๋”๊ฐ€ ๋ฃจํŠธ ์†Œ์œ  ํด๋”์— ๋Œ€ํ•œ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ์ž„์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  ์ฝ˜ํ…์ธ ๋ฅผ (๋‚ด) ์‚ฌ์šฉ์ž ์†Œ์œ  ํด๋”๋กœ ์ด๋™ํ–ˆ์œผ๋ฉฐ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

Docker-1.12.0-rc2
๋„์ปค ๋จธ์‹  0.8.0-rc1
Docker ์ž‘์„ฑ 1.8.0-rc1

Google์„ ํ†ตํ•ด์ด ์Šค๋ ˆ๋“œ๋ฅผ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ๋‚˜๋„์ด ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ์ผ ํŒŒ์ผ, OSX์— ๋ฐ”์ธ๋”ฉ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

Docker version 1.12.0-rc4, build e4a0dbc, experimental
docker-compose version 1.8.0-rc2, build c72c966

Docker๋Š” ์˜ค๋Š˜ ๋ฐฉ๊ธˆ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์—…๋ฐ์ดํŠธ : ํŒŒ์ผ์ด ์•„๋‹Œ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๋งˆ์šดํŠธํ•˜๋ ค๋Š” ์‹œ๋„๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์Šคํฌ๋ฆฐ ์ƒท.

screen shot 2016-07-19 at 5 25 35 pm

๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค :-( ๋‹จ์ผ ํŒŒ์ผ์„ ๋งˆ์šดํŠธ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค

Client:
 Version:      1.12.0-rc4
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   e4a0dbc
 Built:        Wed Jul 13 03:28:51 2016
 OS/Arch:      darwin/amd64
 Experimental: true

Server:
 Version:      1.12.0-rc4
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   e4a0dbc
 Built:        Wed Jul 13 03:28:51 2016
 OS/Arch:      linux/amd64
 Experimental: true

๋˜ํ•œ ๋ฌธ์ œ ํ™•์ธ

์˜ค๋Š˜์˜ OSX ์—…๋ฐ์ดํŠธ๋กœ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. docker-compose๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹จ์ผ ํŒŒ์ผ์„ ์„ฑ๊ณต์ ์œผ๋กœ ๋งˆ์šดํŠธ ํ•  ์ˆ˜์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

Docker version 1.12.0, build 8eab29e, experimental
docker-compose version 1.8.0, build f3628c7

docker-compose๋กœ ํŒŒ์ผ์„ ๋งˆ์šดํŠธํ•˜๋ ค๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค.

// docker-compose.yml
version: '2'
services:
  web:
    build: .
    privileged: true
    volumes:
      - "/usr/src/app/app.conf:/etc/app.conf"
    entrypoint: /run.sh

ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ์—์„œ

ls /usr/src/app/ -la
total 12
drwxr-xr-x   3 root root 4096 Aug  9 11:08 .
drwxr-xr-x 101 root root 4096 Aug  8 14:16 ..
drwxr-xr-x   2 root root 4096 Aug  9 11:08 app.conf

Docker-compose๊ฐ€ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค : drwxr-xr-x app.conf
ํŒŒ์ผ ๋Œ€์‹ .

์ด๊ฒƒ์€ ์ •์ƒ์ ์ธ ๋™์ž‘์ž…๋‹ˆ๊นŒ? ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  ๋งˆ์šดํŠธํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๋ˆ„๊ตฐ๊ฐ€ ๋‚˜์—๊ฒŒ ์„ค๋ช…์„ ํ•ด์ฃผ๋ฉด ๋งค์šฐ ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

# lsb_release -a
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.1 LTS
Release:        16.04
Codename:       xenial

Docker version 1.12.0, build 8eab29e
docker-compose version 1.8.0, build f3628c7

@bogulean ๋ฐ”์ธ๋”ฉ-๋งˆ์šดํŠธํ•˜๋ ค๋Š” ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด docker๋Š” _file_ ๋˜๋Š” _directory_๋ฅผ ์˜ˆ์ƒํ•˜๋Š”์ง€ ํ™•์ธํ•  ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค ( /usr/src/app/app.conf ๊ฐ€ ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ). ๋„์ปค ๋ฐ๋ชฌ์€ ํ•ด๋‹น ์œ„์น˜์— ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ  ์ปจํ…Œ์ด๋„ˆ์— ๋ฐ”์ธ๋”ฉ ๋งˆ์šดํŠธํ•ฉ๋‹ˆ๋‹ค.

๊ฒฝ๋กœ์˜ ์ž๋™ ์ƒ์„ฑ์„ ์ง€์› ์ค‘๋‹จ / ์ œ๊ฑฐํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์ง€๋งŒ (๋Œ€์‹  ์˜ค๋ฅ˜ ์ƒ์„ฑ) ์ด์ „ ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ณ€๊ฒฝ (์ผ๋ถ€ ์‚ฌ๋žŒ๋“ค์€์ด ๋™์ž‘์— ์˜์กด)์ด ๋„ˆ๋ฌด ๋งŽ์œผ๋ฏ€๋กœ์ด ๋™์ž‘์„ ์œ ์ง€ํ•ด์•ผํ–ˆ์Šต๋‹ˆ๋‹ค.

@thaJeztah ๋น ๋ฅธ ๋‹ต์žฅ์„ ๋ณด๋‚ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!
docker-compose๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ์ˆ˜๋™์œผ๋กœ "/usr/src/app/app.conf"ํŒŒ์ผ์„ ๋งŒ๋“ค๋ ค๊ณ ํ–ˆ๋Š”๋ฐ ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ERROR: for web  Cannot start service web: oci runtime error: rootfs_linux.go:53: mounting "/var/lib/docker/aufs/mnt/dc65b60b56bae344412f8c23a35f6a19d897b0cad0673bcb9316267ed02a44fe/etc/app.conf" to rootfs "/var/lib/docker/aufs/mnt/dc65b60b56bae344412f8c23a35f6a19d897b0cad0673bcb9316267ed02a44fe" caused "not a directory"
ERROR: Encountered errors while bringing up the project.

@bogulean ์„ค์ •์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๋ฐ๋ชฌ๊ณผ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ชจ๋‘ ๋™์ผํ•œ ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰ ์ค‘์ด๊ฑฐ๋‚˜ ์›๊ฒฉ ๋ฐ๋ชฌ (๋˜๋Š” ๊ฐ€์ƒ ๋จธ์‹ ์—์„œ ์‹คํ–‰์ค‘์ธ ๋ฐ๋ชฌ)์œผ๋กœ ์ž‘์—…ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

@thaJeztah ์ €๋Š” DO ํ˜ธ์ŠคํŠธ ์ธ Ubuntu 16.04 LTS๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
docker-compose ๋ฐ docker๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ๋ฒ„์ „์„ ์ฐพ์œผ์‹ญ์‹œ์˜ค.

# lsb_release -a
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.1 LTS
Release:        16.04
Codename:       xenial

Docker version 1.12.0, build 8eab29e
docker-compose version 1.8.0, build f3628c7

์ด ์ปดํ“จํ„ฐ์—์„œ ๋ชจ๋“  ๊ฒƒ์ด ์‹คํ–‰ ์ค‘์ด๋ฉฐ ssh๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

docker compose๋ฅผ ๋ฐฉ์ •์‹์—์„œ ์ œ๊ฑฐํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜๋ฉด ์žฌํ˜„์„ ์‹œ๋„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

docker run --rm -v /usr/src/app/app.conf:/test/app.conf alpine cat /test/app.conf

๊ตฌ์„ฑ ํŒŒ์ผ์„ bind-mountํ•˜๊ณ  ๋‚ด์šฉ์„ ์ธ์‡„ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

docker run -it --rm -v /usr/src/app/app.conf:/test/app.conf alpine sh -c 'cat /test/app.conf'
Unable to find image 'alpine:latest' locally
latest: Pulling from library/alpine
e110a4a17941: Pull complete
Digest: sha256:3dcdb92d7432d56604d4545cbd324b14e647b313626d99b889d0626de158f73a
Status: Downloaded newer image for alpine:latest
Hello from /usr/src/app/app.conf

@thaJeztah ํ…Œ์ŠคํŠธ ๋ชฉ์ ์œผ๋กœ ๋‚˜์—๊ฒŒ ์ œ๊ณตํ•œ๋‹ค๋ฉด docker-compose.yml์„ ์‹คํ–‰ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

@bogulean ์˜ค๋ฅธ์ชฝ์ด๋ฏ€๋กœ docker-compose ๋˜๋Š” ๋นŒ๋“œ / ์‹คํ–‰์ค‘์ธ ์ด๋ฏธ์ง€์— ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ด์ „ ํ…Œ์ŠคํŠธ์™€ ๋™์ผํ•˜์ง€๋งŒ docker-compose๋ฅผ ํ†ตํ•ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

version: '2'
services:
  web:
    image: "alpine:latest"
    volumes:
      - "/usr/src/app/app.conf:/test/app.conf"
    command: "cat /test/app.conf"

๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์ด ํšจ๊ณผ๊ฐ€ ์žˆ๋Š”์ง€ ์‹œ๋„ํ•˜์‹ญ์‹œ์˜ค.

docker-compose run web

( Hello from /usr/src/app/app.conf ๋„ ์ธ์‡„ํ•ด์•ผ ํ•จ)

@thaJeztah , ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! docker-compose.yml์ด Hello from /usr/src/app/app.conf ๋ฐ˜ํ™˜
๊ทธ๋ž˜์„œ ๋‹ค๋ฅธ ๊ณณ์—์„œ ๋ญ”๊ฐ€ ์ž˜๋ชปํ•˜๊ณ  ์žˆ์Œ์„ ๊นจ๋‹ซ๊ฒŒ๋˜์—ˆ๊ณ  Dockerfile์— ํ•œ ์ค„์ด ์žˆ์Œ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.
VOLUME ["/usr/src/app.conf"]
๊ทธ๊ฒƒ์„ ์ œ๊ฑฐํ•˜๊ณ  ํŒŒ์ผ์ด ์˜ˆ์ƒ๋Œ€๋กœ ๋ฐ”์ธ๋”ฉ๋˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

์‹œ๊ฐ„ ๋‚ด ์ค˜์„œ ๊ณ ๋งˆ์›Œ.

์ž˜ ๋“ฃ๊ณ  ๊ธฐ๊บผ์ด ๋„์™€ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค!

๊ท€ํ•˜์˜ ๊ฒฝ์šฐ ๋ฌธ์ œ๋Š” VOLUME ์—๋„ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋ฏ€๋กœ ๋ณผ๋ฅจ์„ ์ƒ์„ฑํ•˜๊ณ  /usr/src/app.conf ์— ๋งˆ์šดํŠธํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ์˜ ๋‹จ์ผ ํŒŒ์ผ๋กœ ์ž‘์—…ํ•˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ์ผ๋ฐ˜์ ์œผ๋กœ /usr/src/config/ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์„ ๊ณ ๋ คํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ํŒŒ์ผ ๋Œ€์‹  ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ์— ๋Œ€ํ•ด bind-mount (๋˜๋Š” ๋ณผ๋ฅจ ์‚ฌ์šฉ)ํ•ฉ๋‹ˆ๋‹ค. ๋ถ„๋ช…ํžˆ ํ•ญ์ƒ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.

@thaJeztah , ์ด๊ฒƒ์„ ์‹คํ–‰ํ•  ๋•Œ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

docker run -v $(pwd)/filebeat.yml:/filebeat.yml prima/filebeat:1.2 cat filebeat.yml
cat: filebeat.yml: Is a directory

/ ์ด๋ฏธ์ง€ / ์ปจํ…Œ์ด๋„ˆ ๋‚ด์— ํ™•์‹คํžˆ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

docker run -v $(pwd)/filebeat.yml:/filebeat.yml prima/filebeat:1.2 ls -al
drwxr-xr-x   2 root root   40 Aug  9 20:46 filebeat.yml

์ผ๋ฐ˜์ ์œผ๋กœ Docker Compose์™€ ๊ด€๋ จ์ด์—†๋Š” Docker ๋ฒ„๊ทธ ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์ด ๊ฒฝ์šฐ Docker๊ฐ€ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“œ๋Š” ์ด์œ ๋ฅผ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

์–ด๋–ค ์•„์ด๋””์–ด? ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๋˜ํ•œ ์•ŒํŒŒ์ธ ์ด๋ฏธ์ง€๋กœ ์˜ˆ์ œ๋ฅผ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ™์€. cat: read error: Is a directory

@thasmo filebeat.yml ์ด ํŒŒ์ผ์ด ์•„๋‹ˆ๋ผ ๋””๋ ‰ํ† ๋ฆฌ์ด๊ธฐ ๋•Œ๋ฌธ์—์ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
์ปจํ…Œ์ด๋„ˆ์— ๋งˆ์šดํŠธํ•˜๊ธฐ ์ „์— ํŒŒ์ผ์ด ํ˜ธ์ŠคํŠธ์— ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด docker๊ฐ€ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

@ cpuguy83 , ๋ฐฉ๊ธˆ ๋ฌธ์ œ๋ฅผ ์ฐพ์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. Docker Machine ๋ฐ VirtualBox๋ฅผ ํ†ตํ•ด Windows์—์„œ Docker๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ VirtualBox๋ฅผ ํ†ตํ•ด ์ปจํ…Œ์ด๋„ˆ์— ๋กœ์ปฌ ํŒŒ์ผ์„ ๋งˆ์šดํŠธ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
https://docs.docker.com/docker-for-windows/troubleshoot/#/host -filesystem-sharing

Windows 10 ์ฃผ๋…„ ์—…๋ฐ์ดํŠธ์—์„œ Docker ์ƒˆ๋กœ ์„ค์น˜์— ๋Œ€ํ•œ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.
์‚ฌ์‹ค์ด ๋ฌธ์ œ๋Š” ์•„์ฃผ ๊ฐ„๋‹จํ•œ ํ•ด๊ฒฐ์ฑ…์ž…๋‹ˆ๋‹ค

Docker ์˜ต์…˜์—์„œ ๊ณต์œ  ๋“œ๋ผ์ด๋ธŒ ํ•„์š” http://www.awesomescreenshot.com/image/1510321/0f1a81d7a8883df5a61bcdf04b3994cf
๋ฌธ์ œ๋ฅผ ์ฐพ์•„ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ถ„ํˆฌ 16.10์—์„œ ์—ฌ์ „ํžˆ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

โžœ  gi_proxy git:(master) โœ— docker -v
Docker version 1.12.3, build 6b644ec

docker run --name hap ... -v /home/cverbinnen/src/unisporkal/gi_proxy/dev-resolv.conf:/etc/resolv.conf

docker: Error response from daemon: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused \"process_linux.go:359: container init caused \\\"rootfs_linux.go:53: mounting \\\\\\\"/home/cverbinnen/src/unisporkal/gi_proxy/dev-resolv.conf\\\\\\\" to rootfs \\\\\\\"/mnt/sda1/var/lib/docker/aufs/mnt/34ee49dcff906310df08b5a0bdf02ebafd302c1c7bf8b81ecd2778757fdb5713\\\\\\\" at \\\\\\\"/mnt/sda1/var/lib/docker/aufs/mnt/34ee49dcff906310df08b5a0bdf02ebafd302c1c7bf8b81ecd2778757fdb5713/etc/resolv.conf\\\\\\\" caused \\\\\\\"not a directory\\\\\\\"\\\"\"\n".

๋„์ปค ์‹คํ–‰์„ / tmp / foo์™€ ๊ฐ™์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํŒŒ์ผ์— ๋งˆ์šดํŠธํ•˜๋„๋ก ๋ณ€๊ฒฝํ•˜๋ฉด ์ž‘๋™ํ•˜์ง€๋งŒ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งˆ์šดํŠธํ•ฉ๋‹ˆ๋‹ค.

@djpate ๋Š” ๊ฐ€์ƒ ๋จธ์‹ ์ด ์•„๋‹Œ ๋™์ผํ•œ ํ˜ธ์ŠคํŠธ์—์„œ ์‹คํ–‰๋˜๋Š” ๋„์ปค ๋ฐ๋ชฌ์ž…๋‹ˆ๋‹ค. docker ๋ฐ๋ชฌ์ด ์‹คํ–‰๋˜๋Š” ์‹œ์Šคํ…œ์— /home/cverbinnen/src/unisporkal/gi_proxy/dev-resolv.conf ๊ฐ€ ์—†์œผ๋ฉด ๋ฐ๋ชฌ์€ ํ•ด๋‹น ์ด๋ฆ„์œผ๋กœ _directory_๋ฅผ ๋งŒ๋“ค๊ณ  ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์˜ /etc/resolv.conf ์—์„œ ๋ฐ”์ธ๋”ฉ ๋งˆ์šดํŠธ๋ฅผ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. /etc/resolv.conf ๋Š” _file_์ด๋ฏ€๋กœ ํŒŒ์ผ ์œ„์— ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋ฐ”์ธ๋“œ ๋งˆ์šดํŠธํ•˜๋Š” ๋ฐ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ ‡๊ธดํ•˜์ง€๋งŒ, ๋กœ์ปฌ ํŒŒ์ผ๋กœ /etc/resolv.conf ์„ (๋ฅผ) ์žฌ์ •์˜ ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค . /etc/resolv.conf ๋Š” ์‚ฌ์šฉํ•  ์˜ฌ๋ฐ”๋ฅธ DNS ์„œ๋ฒ„๋ฅผ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด docker์— ์˜ํ•ด ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค. Docker์—๋Š” ์„œ๋น„์Šค ๊ฒ€์ƒ‰์„์œ„ํ•œ ๋‚ด์žฅ DNS ์„œ๋ฒ„๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ํ•ด๋‹น ํŒŒ์ผ์„ ์žฌ์ •์˜ํ•˜๋ฉด ์„œ๋น„์Šค ๊ฒ€์ƒ‰์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‹น์‹ ์ด ์„ค์ • DNS ์˜ต์…˜์„ ์›ํ•˜๋Š” ๊ฒฝ์šฐ, ์‚ฌ์šฉ --dns , --dns-opt ๋ฐ --dns-search ์— ์˜ต์…˜ docker run ;

--dns value                   Set custom DNS servers (default [])
--dns-opt value               Set DNS options (default [])
--dns-search value            Set custom DNS search domains (default [])

์ด๋ ‡๊ฒŒํ•˜๋ฉด ์˜ˆ๊ธฐ์น˜ ์•Š์€ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ณ  ํ•ด๋‹น ์˜ต์…˜์ด ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์˜ DNS๋Š” ํ•ญ์ƒ 127.0.0.11 (๋‚ด์žฅ DNS ์„œ๋ฒ„)์ด์ง€๋งŒ ํ•ด๋‹น ์„œ๋ฒ„๋Š” --dns ์ง€์ •ํ•œ DNS ์„œ๋ฒ„๋กœ ์š”์ฒญ์„ ์ž๋™์œผ๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

@thaJeztah ์ €๋Š” ๋„์ปค๋ฅผ ์ฒ˜์Œ

๋ง์”€ ๋“œ๋ฆฐ๋Œ€๋กœ DNS ์˜ต์…˜์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ํ•˜์ง€๋งŒ ๋ฒ„๊ทธ๋Š” ์—ฌ์ „ํžˆ ์กด์žฌํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ docker-compose v1.6.2 ๋ฐ docker v1.10.2์—์„œ ๋‚˜์—๊ฒŒ ์ ํ•ฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ ˆ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘๋™ํ•˜์ง€๋งŒ, ๋ถˆํ–‰ํ•˜๊ฒŒ๋„ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋Š” ์ ˆ๋Œ€ํ•˜์ง€ ์ž‘์—… :(. ๋‚˜๋Š” ๋ชจ๋“  ์กฐํ•ฉ์„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค ๊ฒƒ์ž…๋‹ˆ๋‹ค ๋‚ด ์‚ฌ์šฉ ์‚ฌ๋ก€์— ๋Œ€ํ•œ ./ ๋ฐ ../ ๋‚ด๊ฐ€ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŽธ์ง‘ : ๋˜ํ•œ VM์ด์—†๋Š” Linux์—์„œ ์‹คํ–‰ ์ค‘์ด๋ฏ€๋กœ @thaJeztah ์†”๋ฃจ์…˜์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

OS๋Š” Ubuntu 14.04์ž…๋‹ˆ๋‹ค.

Docker๋Š” ํ˜„์žฌ ์ตœ๋Œ€ 1.13.1์ž…๋‹ˆ๋‹ค. Docker๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜์‹ญ์‹œ์˜ค. 1.12.x๋ถ€ํ„ฐ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

์•„, ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ณ ์ • ๋œ ๊ฒฝ์šฐ ๋„์ปค ๋ฐ ์—…๋ฐ์ดํŠธ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค. :)

ํŽธ์ง‘ : ์ผํ–ˆ์Šต๋‹ˆ๋‹ค! ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค @guice

๋ฟก ๋นต๋€จ

bind-mountํ•˜๋ ค๋Š” ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ docker๋Š” ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์˜ˆ์ƒํ•˜๋Š”์ง€ ํ™•์ธํ•  ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค (/usr/src/app/app.conf๊ฐ€ '์กด์žฌํ•˜์ง€ ์•Š์Œ), ๋„์ปค ๋ฐ๋ชฌ์€ ํ•ด๋‹น ์œ„์น˜์— ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ  ์ปจํ…Œ์ด๋„ˆ์— ๋ฐ”์ธ๋”ฉ ๋งˆ์šดํŠธํ•ฉ๋‹ˆ๋‹ค.
๊ฒฝ๋กœ์˜ ์ž๋™ ์ƒ์„ฑ์„ ์ง€์› ์ค‘๋‹จ / ์ œ๊ฑฐํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์ง€๋งŒ (๋Œ€์‹  ์˜ค๋ฅ˜ ์ƒ์„ฑ) ์ด์ „ ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ณ€๊ฒฝ (์ผ๋ถ€ ์‚ฌ๋žŒ๋“ค์€์ด ๋™์ž‘์— ์˜์กด)์ด ๋„ˆ๋ฌด ๋งŽ์œผ๋ฏ€๋กœ์ด ๋™์ž‘์„ ์œ ์ง€ํ•ด์•ผํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์ •ํ™•ํžˆ 6 ์‹œ๊ฐ„ ๋™์•ˆ ์‹œ๋„ํ–ˆ์ง€๋งŒ ์ง€๊ธˆ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ฒŒ ๋œ ํ›„ ๋งค์šฐ ์‹ค๋งํ–ˆ์Šต๋‹ˆ๋‹ค.
:ro ๋ฐ :rw ์™€ ๊ฐ™์€ ์ถ”๊ฐ€ ๋งˆ์šดํŠธ ์˜ต์…˜์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ๊ณ ๋ คํ•˜์—ฌ "ํŒŒ์ผ ํ”Œ๋ž˜๊ทธ"์™€ ๊ฐ™์€ ๊ฒƒ์„ ๋ณผ๋ฅจ ์„ ์–ธ์— ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

volumes:
  - "./config.json:/app/config.json:rwf"

์ปจํ…Œ์ด๋„ˆ ํŒŒ์ผ์„ ํ˜ธ์ŠคํŠธ ํŒŒ์ผ์— ๋งคํ•‘ ํ•  ๋•Œ ์ปจํ…Œ์ด๋„ˆ ์ดˆ๊ธฐํ™”์‹œ ํ˜ธ์ŠคํŠธ ํŒŒ์ผ์ด ์ƒ์„ฑ (์ปจํ…Œ์ด๋„ˆ์—์„œ ๋ณต์‚ฌ) ๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•ฉ๋‹ˆ๋‹ค.
๋ถˆํ–‰ํžˆ๋„ ๊ตฌ์„ฑ ํŒŒ์ผ์ด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ง์ ‘ ๋“ค์–ด์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ฐพ๋Š” ๊ฒƒ์€ ๋งค์šฐ ์ผ๋ฐ˜์ ์ด๋ฉฐ, ์ „์ฒด ๋ฃจํŠธ๋ฅผ "๋ณผ๋ฅจํ™”"ํ•˜๊ณ  ์‹ถ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ด๊ฒƒ์ด ์ž‘๋™ํ•œ๋‹ค๋ฉด ํŠนํžˆ ์œ ์šฉ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@malyzeli ๋‹น์‹ ์€ ์ด์™€ ๊ฐ™์€ ๊ตฌ์„ฑ์„ ์‚ฝ์ž…ํ•˜๊ฑฐ๋‚˜ ์‹œ์ž‘์‹œ ํ…œํ”Œ๋ฆฟ์„ ์‚ฝ์ž…ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋น„๋ฐ€์„๋ณด๊ณ  ์‹ถ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ณผ๋ฅจ์€ ์‹ค์ œ๋กœ ๊ตฌ์„ฑ์ด ์•„๋‹Œ ์ง€์†์„ฑ์„ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
์‹ค์ œ๋กœ docker๋Š” ํ˜ธ์ŠคํŠธ ๊ฒฝ๋กœ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•˜์ง€ ์•Š์•„์•ผํ•˜๋ฉฐ์ด ๋™์ž‘์€ ์ตœ์‹  API์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํ—‰ํ—‰

๋‚˜๋Š” ๋‹น์‹ ์˜ ์š”์ ์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋ฏ€๋กœ Docker ์ƒํƒœ๊ณ„๋ฅผ ์ฒ˜์Œ ์ ‘ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด ๊ฐ€์ •์„ ์„ค๋ช…ํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜์‹ญ์‹œ์˜ค.

์ด์™€ ๊ฐ™์€ ๊ตฌ์„ฑ์„ ์‚ฝ์ž…ํ•˜๊ฑฐ๋‚˜ ์‹œ์ž‘์‹œ ํ…œํ”Œ๋ฆฟ์„ ์‚ฝ์ž…ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋น„๋ฐ€์„ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ํŒŒ์ผ์ด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ง์ ‘ ์ผ๋ถ€ ์„ค์น˜ ๋งˆ๋ฒ•์‚ฌ์— ์˜ํ•ด ์ƒ์„ฑ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ตฌ์„ฑ ํŒŒ์ผ์ด ์–ด๋–ป๊ฒŒ ์ƒ๊ฒผ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ?
์˜ˆ๋ฅผ ๋“ค์–ด Limesurvey ๋ฐ NodeBB์™€ ๊ฐ™์€ ๋งŽ์€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—๋Š” ์ด๋Ÿฌํ•œ ์ข…๋ฅ˜์˜ ์ตœ์ดˆ ์„ค์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณผ๋ฅจ์€ ์‹ค์ œ๋กœ ๊ตฌ์„ฑ์ด ์•„๋‹Œ ์ง€์†์„ฑ์„ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์กด ์ปจํ…Œ์ด๋„ˆ์˜ ๊ตฌ์„ฑ์ด ์˜๊ตฌ์ ์ด์ง€ ์•Š์•„์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๊นŒ?
๊ทธ๋Ÿฐ ๋‹ค์Œ ๋‹ค์ค‘ ์ปจํ…Œ์ด๋„ˆ ์ธํ”„๋ผ์˜ ์ผ๋ถ€๋ฅผ ๋ฐฑ์—…ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ?
๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์‹ ์†ํ•˜๊ฒŒ ๋ณต์› ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณผ๋ฅจ์— ๋ฐ์ดํ„ฐ์™€ ๊ตฌ์„ฑ์„ ๋ชจ๋‘ ๊ฐ–๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ docker๋Š” ํ˜ธ์ŠคํŠธ ๊ฒฝ๋กœ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•˜์ง€ ์•Š์•„์•ผํ•˜๋ฉฐ์ด ๋™์ž‘์€ ์ตœ์‹  API์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ ํ˜ธ์ŠคํŠธ ๊ฒฝ๋กœ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ํ•„์š”ํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ๊ธฐ์กด ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๋กœ ์ง€์ •๋œ ๋ณผ๋ฅจ์„ ์ดˆ๊ธฐํ™” (์˜ˆ : ํ˜ธ์ŠคํŠธ ์‹œ์Šคํ…œ ๋ฐ / ๋˜๋Š” ๋‹ค๋ฅธ ์ปจํ…Œ์ด๋„ˆ์—์„œ ํŽธ์ง‘ ํ•  ์ˆ˜์žˆ๋Š” ์ผ๋ถ€ html ํ…œํ”Œ๋ฆฟ "์™ธ๋ถ€ํ™”")ํ•˜๊ณ  ์—ฌ์ „ํžˆ Dockerfile ์ฐธ์กฐ์— ๋ช…์‹œ๋œ๋Œ€๋กœ ์ •ํ™•ํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

docker run ๋ช…๋ น์€ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€ ๋‚ด์˜ ์ง€์ •๋œ ์œ„์น˜์—์žˆ๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋กœ ์ƒˆ๋กœ ์ƒ์„ฑ ๋œ ๋ณผ๋ฅจ์„ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ํŒŒ์ผ์ด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ง์ ‘ ์ผ๋ถ€ ์„ค์น˜ ๋งˆ๋ฒ•์‚ฌ์— ์˜ํ•ด ์ƒ์„ฑ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ตฌ์„ฑ ํŒŒ์ผ์ด ์–ด๋–ป๊ฒŒ ์ƒ๊ฒผ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ?

์ƒ์„ฑํ•˜๊ณ , ์ด๋ฏธ์ง€ / ์ปจํ…Œ์ด๋„ˆ์—์„œ ์ถ”์ถœํ•˜๊ณ , ๋น„๋ฐ€์„ ๋งŒ๋“œ์‹ญ์‹œ์˜ค.

๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์‹ ์†ํ•˜๊ฒŒ ๋ณต์› ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณผ๋ฅจ์— ๋ฐ์ดํ„ฐ์™€ ๊ตฌ์„ฑ์„ ๋ชจ๋‘ ๊ฐ–๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๋น„๋ฐ€์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. ์šฐ๋ฆฌ๋Š” ๋˜ํ•œ ๋น„๋ฐ€๊ณผ ์œ ์‚ฌํ•œ ์ „์šฉ config ๊ฐœ์ฒด๋ฅผ๋ณด๊ณ  ์žˆ์ง€๋งŒ ๊ทธ๋ ‡๊ฒŒ ์ œํ•œ๋˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.ํ•˜์ง€๋งŒ ์˜ค๋Š˜๋‚ ์—๋Š” ๋น„๋ฐ€์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ ํ˜ธ์ŠคํŠธ ๊ฒฝ๋กœ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ํ•„์š”ํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ๊ธฐ์กด ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๋กœ ์ง€์ •๋œ ๋ณผ๋ฅจ์„ ์ดˆ๊ธฐํ™” (์˜ˆ : ํ˜ธ์ŠคํŠธ ์‹œ์Šคํ…œ ๋ฐ / ๋˜๋Š” ๋‹ค๋ฅธ ์ปจํ…Œ์ด๋„ˆ์—์„œ ํŽธ์ง‘ ํ•  ์ˆ˜์žˆ๋Š” ์ผ๋ถ€ html ํ…œํ”Œ๋ฆฟ "์™ธ๋ถ€ํ™”")ํ•˜๊ณ  ์—ฌ์ „ํžˆ Dockerfile ์ฐธ์กฐ์— ๋ช…์‹œ๋œ๋Œ€๋กœ ์ •ํ™•ํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ”์ธ๋“œ ๋งˆ์šดํŠธ๋Š” ๋ณผ๋ฅจ์ด ์•„๋‹™๋‹ˆ๋‹ค. Dockerfile ์ฐธ์กฐ๋Š” ๋ณผ๋ฅจ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๊ฐ€์ง€ ๋ชจ๋‘์— docker run -v ๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์€ ์œ ๊ฐ์ž…๋‹ˆ๋‹ค.

๊ตฌ์„ฑ์„ ์ €์žฅํ•˜๋Š” ๋ฐ ๋ณผ๋ฅจ์„ ์‚ฌ์šฉํ•˜์ง€ ๋ง๋ผ๊ณ  ๋งํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ๋” ๋‚˜์€ ์†”๋ฃจ์…˜์ด ์žˆ๋Š”์ง€ ํ‰๊ฐ€ํ•ด์•ผํ•œ๋‹ค๊ณ  ๋งํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค (๊ทธ๋ฆฌ๊ณ  IMO ๋น„๋ฐ€์ด ํ›จ์”ฌ ๋” ์ข‹์Šต๋‹ˆ๋‹ค).

ํ˜ธ์ŠคํŠธ ๋ฐ”์ธ๋“œ๋Š” ํ˜ธ์ŠคํŠธ์— ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ๊ฒƒ์„ ๊ฐ€์ ธ ์™€์„œ ์ปจํ…Œ์ด๋„ˆ๋กœ ๊ฐ€์ ธ ์˜ค๋Š” ๊ฒƒ ์™ธ์—๋Š” ๋‚˜์œ ์†”๋ฃจ์…˜์ด๋ฉฐ, ํด๋Ÿฌ์Šคํ„ฐ ํ™˜๊ฒฝ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐ ํ•  ๋•Œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ—‰ํ—‰

์ƒ์„ฑํ•˜๊ณ , ์ด๋ฏธ์ง€ / ์ปจํ…Œ์ด๋„ˆ์—์„œ ์ถ”์ถœํ•˜๊ณ , ๋น„๋ฐ€์„ ๋งŒ๋“œ์‹ญ์‹œ์˜ค.

๊ทธ๋ž˜, ๊ทธ๊ฒŒ ๋‚ด๊ฐ€ํ•˜๋Š” ์ผ์ธ๋ฐ ์–ด์ฐจํ”ผ ๊ท€์ฐฎ๊ฒŒ ๋ณต์žกํ•ด ๋ณด์ธ๋‹ค .. :-)

๋น„๋ฐ€์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. ์šฐ๋ฆฌ๋Š” ๋˜ํ•œ ๋น„๋ฐ€๊ณผ ์œ ์‚ฌํ•œ ์ „์šฉ config ๊ฐœ์ฒด๋ฅผ๋ณด๊ณ  ์žˆ์ง€๋งŒ ๊ทธ๋ ‡๊ฒŒ ์ œํ•œ๋˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.ํ•˜์ง€๋งŒ ์˜ค๋Š˜๋‚ ์—๋Š” ๋น„๋ฐ€์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋น„๋ฐ€์„ ๋ชฐ๋ž์Šต๋‹ˆ๋‹ค, ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๋ฐ”์ธ๋“œ ๋งˆ์šดํŠธ๋Š” ๋ณผ๋ฅจ์ด ์•„๋‹™๋‹ˆ๋‹ค. Dockerfile ์ฐธ์กฐ๋Š” ๋ณผ๋ฅจ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๊ฐ€์ง€ ๋ชจ๋‘์— docker run -v ๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์€ ์œ ๊ฐ์ž…๋‹ˆ๋‹ค.

์ข‹์•„์š”, ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ์ด์œ ์— ๋Œ€ํ•œ ์„ค๋ช… ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋™์ผํ•œ -v ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์ˆ˜ํ–‰๋œ๋‹ค๋Š” ์ ์„ ๊ณ ๋ คํ•  ๋•Œ ๋ฐ”์ธ๋”ฉ๊ณผ ๋ณผ๋ฅจ์€ ๋™์ผํ•œ ๊ฒƒ์— ๋Œ€ํ•ด ๋‹ค๋ฅธ ์ด๋ฆ„์„ ์ง€์ •ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.

Windows ์—์„œ์ด ๋ฒ„๊ทธ๋ฅผ ๋ณธ ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด ... ๊ณต์œ  ๋“œ๋ผ์ด๋ธŒ๊ฐ€ ์žˆ๋”๋ผ๋„ ...

Docker Windows (๋„์ปค ์ž‘์„ฑ ํฌํ•จ)๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  C : ๋˜๋Š” D : ๋“ฑ๊ณผ ๊ฐ™์€ "๋“œ๋ผ์ด๋ธŒ ๊ณต์œ "์— ํŠน์ • ์ž๊ฒฉ ์ฆ๋ช…์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๊ณต์œ ๋ฅผ ํ•ด์ œํ•˜๊ณ  ๋“œ๋ผ์ด๋ธŒ๋ฅผ ๋‹ค์‹œ ๊ณต์œ ํ•˜๊ณ  ์ž๊ฒฉ ์ฆ๋ช…์„ ๋‹ค์‹œ ์ž…๋ ฅํ•ด์•ผํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

"์˜ค๋ฅ˜ : ... ์„œ๋น„์Šค๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. yourservice : oci ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜ : container_linux.go : 262 : ์ปจํ…Œ์ด๋„ˆ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด"process_linux.go : 339 : container "๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ"rootfs_linux.go : 57 : ๋งˆ์šดํŠธ "๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

"\"์ด (๊ฐ€) \ "๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. \" ""
: ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ํŒŒ์ผ์— ๋งˆ์šดํŠธํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๊นŒ (๋˜๋Š” ๊ทธ ๋ฐ˜๋Œ€๋กœ)? ์ง€์ •๋œ ํ˜ธ์ŠคํŠธ ๊ฒฝ๋กœ๊ฐ€ ์กด์žฌํ•˜๊ณ  ์˜ˆ์ƒ ์œ ํ˜•์ธ์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. "

BaranOrnarli DockerToolbox๊ฐ€์žˆ๋Š” ์‚ฌ๋žŒ์ด๋˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์—ฌ๊ธฐ์—์žˆ๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ๋žŒ๋“ค๊ณผ ๊ฐ™์€ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ VM์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ธฐ ๋งŒํ•˜๋ฉด ๋‹ค์‹œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

Windows 10 ๊ต์œก
Docker Toolbox, 17.10.0-ce
VirtualBox 5.2.2

docker CLI๋ฅผ ํ†ตํ•ด ์‹คํ–‰ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
docker run -d -p 8080:80 -v $(pwd)/src/vhost.conf:/etc/nginx/sites-enabled/vhost.conf ํŠœํ† ๋ฆฌ์–ผ / nginx

docker-compose๋ฅผ ํ†ตํ•ด ๋™์ผํ•˜๊ฒŒ ์‹คํ–‰ํ•˜๋ฉด ๋‹ค์Œ์ด ์ˆ˜ํ–‰๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
ํ•œ์กฐ๊ฐ
volumes: - ./src/vhost.conf:/etc/nginx/sites-enabled/vhost.conf
์ฆ‰, VirtualBox GUI๋ฅผ ํ†ตํ•ด VM์„ ์ข…๋ฃŒํ•˜๊ณ  Docker Quickstart Terminal์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•  ๋•Œ๊นŒ์ง€์ž…๋‹ˆ๋‹ค.

๊ทธ ์ดํ›„๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ํŒŒ๊ดดํ•˜๊ณ  ๋„์ปค๋ฅผ ๊ตฌ์„ฑํ•ด๋„ ์˜ค๋ฅ˜๊ฐ€ ๋‹ค์‹œ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ๋ˆ„๊ตฐ๊ฐ€๋ฅผ ๋•๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๊ฐ€์ง€๊ณ ์žˆ๋‹ค. ๊ทธ๋™์•ˆ docker-compose.yml์˜ ์‹ค์ œ ๋ณผ๋ฅจ ๋„์ปค ํด๋”๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ž„์‹œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ /var/lib/docker/volumes..../file.ext์ž…๋‹ˆ๋‹ค.
(Docker ๋ฒ„์ „ 17.12.0-ce, ๋นŒ๋“œ c97c6d6)

์ด๋Ÿฌํ•œ ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ๊ฒฝ์šฐ Windows์—์„œ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๊ณต์œ  ํ–ˆ๋Š”์ง€๋„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

Im ์šฐ๋ถ„ํˆฌ 14.04. docker-compose up -d ๋ช…๋ น์„ ์‹คํ–‰ํ•  ๋•Œ ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ERROR: for frontend Cannot start service frontend: OCI runtime create failed: container_linux.go:296: starting container process caused "process_linux.go:398: container init caused \"rootfs_linux.go:58: mounting \\\"/home/curso-docker/email-worker-compose/nginx/default.conf\\\" to rootfs \\\"/var/lib/docker/aufs/mnt/ffc214cd493c376554125473ba95e8cd918cd3ad73b6aa8292f51ce84beca8a6\\\" at \\\"/var/lib/docker/aufs/mnt/ffc214cd493c376554125473ba95e8cd918cd3ad73b6aa8292f51ce84beca8a6/etc/nginx/conf.d/default.conf\\\" caused \\\"not a directory\\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type

ํ˜ธ์ŠคํŠธ์—์„œ /home/curso-docker/email-worker-compose/nginx/default.conf ๋ณผ๋ฅจ์„ ๋งคํ•‘ํ•˜๊ธฐ ์œ„ํ•ด ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ˆ„๊ตฐ๊ฐ€์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

@AzeredoGabriel , @BaranOrnarli๊ฐ€ ์ „์— ์–ธ๊ธ‰ ํ•œ ๊ฒƒ์„ ๋งค๋ ฅ์ฒ˜๋Ÿผ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณต์œ  ๋“œ๋ผ์ด๋ธŒ์˜ ์ž๊ฒฉ ์ฆ๋ช…์„ ์žฌ์„ค์ •ํ•˜๊ณ  ๋‹ค์‹œ ๊ณต์œ ํ•˜๋ฉด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์™œ ๊ฐ‘์ž๊ธฐ ์ž‘๋™์ด ๋ฉˆ์ท„๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์ด์ œ๋Š” ๋‹ค์‹œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์— ๋Œ€ํ•œ ์†Œ์‹์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋‹จ์ผ ํŒŒ์ผ์„ ๋งˆ์šดํŠธํ•˜๋Š” ๊ฒƒ์ด ์—ฌ์ „ํžˆ ๋ถˆ๊ฐ€๋Šฅ ํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.

@Karlheinzniebuhr ์ด๊ฒƒ์€ ๋ฌธ์ œ๊ฐ€๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. Docker๋Š” ํŒŒ์ผ์„ ์ปจํ…Œ์ด๋„ˆ์— ๋งˆ์šดํŠธ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ํŒŒ์ผ์„ ๋””๋ ‰ํ† ๋ฆฌ์— ๋งˆ์šดํŠธํ•˜๊ฑฐ๋‚˜ ๊ทธ ๋ฐ˜๋Œ€๋กœ ๋งˆ์šดํŠธ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์— ๋Œ€ํ•œ ์†Œ์‹์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋‹จ์ผ ํŒŒ์ผ์„ ๋งˆ์šดํŠธํ•˜๋Š” ๊ฒƒ์ด ์—ฌ์ „ํžˆ ๋ถˆ๊ฐ€๋Šฅ ํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.

ํŒŒ์ผ์„ ๊ธฐ์กด ๋””๋ ‰ํ† ๋ฆฌ์— ๋งคํ•‘ํ•˜์‹ญ์‹œ์˜ค. Docker๋Š” ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ํ•ญ์ƒ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค.

@ cpuguy83 ๋ฌผ๋ก  ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋””๋ ‰ํ† ๋ฆฌ์— ํŒŒ์ผ์„ ๋งˆ์šดํŠธํ•˜๋ ค๊ณ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ์—์„œ ๋งŒ๋“  ๋‹จ์ผ ํŒŒ์ผ์„ ํ˜ธ์ŠคํŠธ์— ํŒŒ์ผ๋กœ ๋งˆ์šดํŠธํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ๋‹ค์‹œ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? 2019 ๋…„ ํ˜„์žฌ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ตœ์‹  Docker ๋ฐ ์ตœ์‹  Docker์—์„œ ์ตœ์‹  Debian์—์„œ ์‹คํ–‰์ค‘์ธ ์ž‘์„ฑ.

์ปจํ…Œ์ด๋„ˆ์—์„œ ํ˜ธ์ŠคํŠธ๋กœ ๋งˆ์šดํŠธ ํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ๋งŒ ๋งˆ์šดํŠธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๊ฒƒ์€ ๋””๋ ‰ํ† ๋ฆฌ์™€ ํŒŒ์ผ ๋ชจ๋‘์— ๋Œ€ํ•ด ๋™์ผํ•œ ๋™์ž‘์ž…๋‹ˆ๋‹ค.

docker-compose.yml์˜ ๋ณผ๋ฅจ ๋ฐ”์ธ๋”ฉ์œผ๋กœ store/elastic/filebeat:7.3.0 ์ด๋ฏธ์ง€์˜ ๊ตฌ์„ฑ ํŒŒ์ผ์„ ์žฌ์ •์˜ํ•˜๋Š” ๋™์•ˆ docker 19.03.1 ๋ฐ docker-compose 1.24.1์„ ์‚ฌ์šฉํ•˜๋Š” ๋™์ผํ•œ ๋ฌธ์ œ :

    volumes:
      - ${PWD}/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro

ERROR: for docker_filebeat_1 Cannot start service filebeat: OCI runtime create failed: container_linux.go:345: starting container process caused "process_linux.go:430: container init caused \"rootfs_linux.go:58: mounting \\\"/filebeat.yml\\\" to rootfs \\\"/var/lib/docker/overlay2/f49a0ae0ec6646c818dcf05dbcbbdd79fc7c42561f3684fbb1fc5d2b9d3ad192/merged\\\" at \\\"/var/lib/docker/overlay2/f49a0ae0ec6646c818dcf05dbcbbdd79fc7c42561f3684fbb1fc5d2b9d3ad192/merged/usr/share/filebeat/filebeat.yml\\\" caused \\\"not a directory\\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type

์ฒ˜์Œ์—๋Š” "๊ตฌ์„ฑ"์„ ์‚ฌ์šฉํ•ด ๋ณด์•˜์ง€๋งŒ์ด ๊ธฐ๋Šฅ์€ ๋ฌด๋ฆฌ ์ „์šฉ์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค.
COPY ๊ตฌ์„ฑ ํŒŒ์ผ๋กœ ์‚ฌ์šฉ์ž ์ง€์ • ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๊ณ  ๊ธฐ๋ณธ ์ด๋ฏธ์ง€์— ๊ตฌ์„ฑ ํŒŒ์ผ์„ ์ œ๊ณตํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์œผ๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ™์€ ๋ฌธ์ œ

$ ls -l logstash.conf
-rw-r--r--  1 lubumbax  staff  164 Apr 30 18:01 logstash.conf
$ pwd
/Users/lubumbax/Src/Java/elk
$ docker run -it --name logstash -p 5000:5000 \
             -v "$(pwd)/logstash.conf:/usr/share/logstash/pipeline/logstash.conf" \
             docker.elastic.co/logstash/logstash:7.6.2

๊ฒฐ๊ณผ:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused "process_linux.go:449: container init caused \"rootfs_linux.go:58: mounting \\\"/Users/lubumbax/Src/Java/elk/logstash.conf\\\" to rootfs \\\"/var/lib/docker/overlay2/bad85f1a2984bed23619fdf401cc9655573bb1799a8b681d371f5964201b9a82/merged\\\" at \\\"/var/lib/docker/overlay2/bad85f1a2984bed23619fdf401cc9655573bb1799a8b681d371f5964201b9a82/merged/usr/share/logstash/pipeline/logstash.conf\\\" caused \\\"not a directory\\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type.

$ docker version
Client: Docker Engine - Community
 Version:           19.03.8
 API version:       1.40
 Go version:        go1.14
 Git commit:        afacb8b
 Built:             Thu Mar 12 02:45:41 2020
 OS/Arch:           darwin/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.8
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.17
  Git commit:       afacb8b7f0
  Built:            Wed Mar 11 01:30:32 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.2.13
  GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๊ธฐํšŒ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

์„ฑ๊ฐ€์‹  ๋ฌธ์ œ.

๋™๋ฃŒ ์—ฌ๋Ÿฌ๋ถ„, docker-compose์—์„œ ๋งˆ์šดํŠธ ๋ฐฉํ–ฅ์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.
๋‚ด๊ฐ€ ํ‹€๋ ธ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์„ ๋•Œ๊นŒ์ง€ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

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