Moby: docker-commit ๋ฐ ADD/COPY๋Š” ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ˆ˜์ • ์‹œ๊ฐ„์„ ์ž๋ฆ…๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2015๋…„ 10์›” 19์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: moby/moby

์žฌํ˜„ ๋‹จ๊ณ„ :

๋ณต์‚ฌ:

gg7<strong i="8">@gg7</strong>:~$ mkdir docker-mtime-test
gg7<strong i="9">@gg7</strong>:~$ cd docker-mtime-test

gg7<strong i="10">@gg7</strong>:~/docker-mtime-test$ touch example-file
gg7<strong i="11">@gg7</strong>:~/docker-mtime-test$ stat example-file
  File: โ€˜example-fileโ€™
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: fc01h/64513d    Inode: 7602338     Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1001/  gg7)   Gid: ( 1001/  gg7)
Access: 2015-10-19 14:13:28.441785563 +0100
Modify: 2015-10-19 14:13:28.441785563 +0100
Change: 2015-10-19 14:13:28.441785563 +0100
 Birth: -

gg7<strong i="12">@gg7</strong>:~/docker-mtime-test$ cat > Dockerfile <<EOF
FROM ubuntu:14.04
COPY example-file /example-file
RUN stat /example-file
EOF

gg7<strong i="13">@gg7</strong>:~/docker-mtime-test$ docker build --no-cache -t docker-mtime-test .
Sending build context to Docker daemon  2.56 kB
Step 0 : FROM ubuntu:14.04
 ---> fa81ed084842
Step 1 : COPY example-file /example-file
 ---> 8212ccaf4c14
Removing intermediate container cece2b393603
Step 2 : RUN stat /example-file
 ---> Running in 86bd29f2fa49
  File: '/example-file'
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: 6ch/108d        Inode: 43          Links: 1
Access: (0664/-rw-rw-r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2015-10-19 13:15:27.415707557 +0000
Modify: 2015-10-19 13:13:28.000000000 +0000
Change: 2015-10-19 13:15:27.415707557 +0000
 Birth: -
 ---> cb0e1fdb58bd
Removing intermediate container 86bd29f2fa49
Successfully built cb0e1fdb58bd

์‹ค์ œ ๊ฒฐ๊ณผ :์˜ ์ˆ˜์ • ์‹œ๊ฐ„ /example-file ๋  ๊ฒƒ์œผ๋กœ๋ณด๊ณ ์žˆ๋‹ค 2015-10-19 13:13:28.000000000 +0000 .

์˜ˆ์ƒ ๊ฒฐ๊ณผ :์˜ ์ˆ˜์ • ์‹œ๊ฐ„ /example-file ๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค 2015-10-19 13:13:28.441785563 +0000 .

docker-commit :

gg7<strong i="26">@gg7</strong>:~$  docker run -it --name mtime-test ubuntu:14.04 /bin/bash
root<strong i="27">@613e6c0fe6ac</strong>:/# touch /example-file
root<strong i="28">@613e6c0fe6ac</strong>:/# stat /example-file
  File: '/example-file'
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: 66h/102d        Inode: 72          Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2015-10-19 13:36:29.888088708 +0000
Modify: 2015-10-19 13:36:29.888088708 +0000
Change: 2015-10-19 13:36:29.888088708 +0000
 Birth: -
root<strong i="29">@613e6c0fe6ac</strong>:/# exit
exit
gg7<strong i="30">@gg7</strong>:~$ docker commit mtime-test mtime-test-image
b67d16fcb577fb3ece29cf007f1cef2ebc4a6351bc3e3a3e77eab5648461095c
gg7<strong i="31">@gg7</strong>:~$ docker run -it --name mtime-test-2 mtime-test-image /bin/bash
root<strong i="32">@1a5e038e6a2c</strong>:/# stat /example-file
  File: '/example-file'
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: 66h/102d        Inode: 75          Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2015-10-19 13:36:55.572503813 +0000
Modify: 2015-10-19 13:36:29.000000000 +0000
Change: 2015-10-19 13:36:55.572503813 +0000
 Birth: -
root<strong i="33">@1a5e038e6a2c</strong>:/#

์ด๊ฒƒ์ด ์™œ ์ค‘์š”ํ•œ๊ฐ€?

์ผ๋ถ€ ๋นŒ๋“œ ์‹œ์Šคํ…œ์€ ์ˆ˜์ • ํƒ€์ž„์Šคํƒฌํ”„์— ์˜์กดํ•˜์—ฌ ํŒŒ์ผ ์—…๋ฐ์ดํŠธ๋ฅผ ๊ฐ์ง€ํ•ฉ๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ ์„ธ๋ถ€ ์ •๋ณด :

cat /etc/lsb-release :

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.3 LTS"

uname -a :

Linux gg7 3.13.0-51-generic #84-Ubuntu SMP Wed Apr 15 12:08:34 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

docker version :

Client:
 Version:      1.8.3
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   f4bf5c7
 Built:        Mon Oct 12 05:37:18 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.8.3
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   f4bf5c7
 Built:        Mon Oct 12 05:37:18 UTC 2015
 OS/Arch:      linux/amd64

docker info :

Containers: 8
Images: 632
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 656
 Dirperm1 Supported: false
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.13.0-51-generic
Operating System: Ubuntu 14.04.3 LTS
CPUs: 8
Total Memory: 15.66 GiB
Name: gg7
ID: ACSH:EYI5:G36O:2SRA:FWLH:U4GF:VMJM:C4KF:73MH:L273:TCCO:GW3K
WARNING: No swap limit support
arebuilder kinenhancement versio1.8

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

์˜ค๋Š˜ ๋ฐฉ๊ธˆ ์ด๊ฒƒ์— ๋ถ€๋”ช์ณค์Šต๋‹ˆ๋‹ค.

์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ํŒŒ์ผ์˜ ๋ฌด๊ฒŒ๋ฅผ ์ธก์ •ํ•˜๊ณ  ๋ณต์‚ฌํ•˜๊ณ  ๋‹ค์‹œ ์••์ถ•์„ ํ‘ธ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค...

UPDATE ์ถ”๊ฐ€ tar ์ž‘์—…์œผ๋กœ ์ธํ•ด ์ „๋ฐ˜์ ์œผ๋กœ ์†๋„๊ฐ€ ๋Š๋ ค์กŒ์Šต๋‹ˆ๋‹ค.

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

์˜ค๋Š˜ ๋ฐฉ๊ธˆ ์ด๊ฒƒ์— ๋ถ€๋”ช์ณค์Šต๋‹ˆ๋‹ค.

์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ํŒŒ์ผ์˜ ๋ฌด๊ฒŒ๋ฅผ ์ธก์ •ํ•˜๊ณ  ๋ณต์‚ฌํ•˜๊ณ  ๋‹ค์‹œ ์••์ถ•์„ ํ‘ธ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค...

UPDATE ์ถ”๊ฐ€ tar ์ž‘์—…์œผ๋กœ ์ธํ•ด ์ „๋ฐ˜์ ์œผ๋กœ ์†๋„๊ฐ€ ๋Š๋ ค์กŒ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๊ฐ€ ๋„ˆ๋ฌด ์˜ค๋žซ๋™์•ˆ ์—ด๋ ค ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— Docker์—์„œ ์ˆ˜์ •ํ•˜๊ธฐ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. COPY ๋™์•ˆ ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์™œ ์–ด๋ ค์šด์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฒ„๊ทธ๋Š” "COPY --from"์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ์กด ๋‹จ๊ณ„์—์„œ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ์„ ํƒํ•˜๋Š” ๊ฒƒ์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ํ•  ๋•Œ๋งˆ๋‹ค ํ•˜์œ„ ์ง‘ํ•ฉ์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ์—‰๋ง์œผ๋กœ ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ tar ๋ฐ co์™€ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์ง€ ์•Š์€ ๊ฒƒ์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒฝ์šฐ(tar์˜ ์ž‘์„ฑ์ž์ธ ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜๊ณ ) tar ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•๋„ ํ•ดํ‚น์ž…๋‹ˆ๋‹ค.

๋˜ํ•œ ๋„์ปค ์ด๋ฏธ์ง€ ๋‚ด๋ถ€์˜ ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ๋ณด์กดํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค๋ฅธ ๊ฒƒ์„ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋„์ปค ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋Š” ๋‘ ๋ฐฐ์ž…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ๋ณด์กดํ•˜๋Š” ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

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