07I. ADD
About 1 min
07I. ADD ๊ด๋ จ

๋ชฉ์ฐจ
์ธ์ ๋ ์ต์ Docker
ADD๋ ํ์ผ์ ์ด๋ฏธ์ง์ ์ถ๊ฐํฉ๋๋ค.
.
Dockerfile
ADD hello-entrypoint.sh /entrypoint.sh
ADD hello-dir /hello-dir
ADD zlib-1.2.8.tar.gz /
ADD hello.zip /
ADD http://example.com/hello.txt /hello.txt
ADD *.txt /root/
ADD <๋ณต์ฌํ ํ์ผ ๊ฒฝ๋ก> <์ด๋ฏธ์ง์์ ํ์ผ์ด ์์นํ ๊ฒฝ๋ก> ํ์์
๋๋ค.
<๋ณต์ฌํ ํ์ผ ๊ฒฝ๋ก>๋ ์ปจํ ์คํธ ์๋๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๋ฉฐ ์ปจํ ์คํธ ๋ฐ๊นฅ์ ํ์ผ, ๋๋ ํฐ๋ฆฌ๋ ์ ๋ ๊ฒฝ๋ก๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.- ์)
ADD ../hello.txt /home/hello(X) - ์)
ADD /home/hello/hello.txt /home/hello(X)
- ์)
<๋ณต์ฌํ ํ์ผ ๊ฒฝ๋ก>๋ ํ์ผ๋ฟ๋ง ์๋๋ผ ๋๋ ํฐ๋ฆฌ๋ ์ค์ ํ ์ ์์ผ๋ฉฐ, ๋๋ ํฐ๋ฆฌ๋ฅผ ์ง์ ํ๋ฉด ๋๋ ํฐ๋ฆฌ์ ๋ชจ๋ ํ์ผ์ ๋ณต์ฌํฉ๋๋ค. ๋ํ, ์์ผ๋์นด๋๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ํ์ผ๋ง ๋ณต์ฌํ ์ ์์ต๋๋ค.- ์)
ADD *.txt /root/
- ์)
<๋ณต์ฌํ ํ์ผ ๊ฒฝ๋ก>์ ์ธํฐ๋ท์ ์๋ ํ์ผ์ URL์ ์ค์ ํ ์ ์์ต๋๋ค.<์ด๋ฏธ์ง์์ ํ์ผ์ด ์์นํ ๊ฒฝ๋ก>์ ๋ง์ง๋ง์/๊ฐ ์์ผ๋ฉด ๋๋ ํฐ๋ฆฌ๊ฐ ์์ฑ๋๊ณ ํ์ผ์ ๊ทธ ์๋์ ๋ณต์ฌ๋ฉ๋๋ค.ADD http://example.com/hello.txt /home/hello/์ ๊ฐ์ด ์ค์ ํ๋ฉด/home/hello/hello.txt</>์ ํ์ผ์ด ๋ณต์ฌ๋ฉ๋๋ค.
- ๋ก์ปฌ์ ์๋ ์์ถ ํ์ผ(
tar.gz,tar.bz2,tar.xz)์ ์์ถ์ ํด์ ํ๊ณtar๋ฅผ ํ์ด์ ์ถ๊ฐ๋ฉ๋๋ค. ๋จ, ์ธํฐ๋ท์ ์๋ ํ์ผ URL์ ์์ถ๋ง ํด์ ํ ๋คtarํ์ผ์ด ๊ทธ๋๋ก ์ถ๊ฐ๋ฉ๋๋ค.- ์)
ADD hello.tar.gz /(์์ถ์ ํด์ ํ๊ณ tar๋ฅผ ํ์ด์ ์ถ๊ฐํฉ๋๋ค.) - ์)
ADD http://zlib.net/zlib-1.2.8.tar.gz /(gzip ์์ถ๋ง ํด์ ํ ๋คtarํ์ผ์ ์ถ๊ฐํฉ๋๋ค. ๋จ ํ์ผ ๋ด์ฉ์ tar์ด์ง๋ง ํ์ผ ์ด๋ฆ์zlib-1.2.8.tar.gz์ฒ๋ผ.gz๊ฐ ๋ถ์ด์์ต๋๋ค.)
- ์)
<์ด๋ฏธ์ง์์ ํ์ผ์ด ์์นํ ๊ฒฝ๋ก>๋ ํญ์ ์ ๋ ๊ฒฝ๋ก๋ก ์ค์ ํด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ด /๋ก ๋๋๋ฉด ๋๋ ํฐ๋ฆฌ๊ฐ ์์ฑ๋๊ณ ํ์ผ์ ๊ทธ ์๋์ ๋ณต์ฌ๋ฉ๋๋ค.ADD ./ /hello์ ๊ฐ์ด ํ์ฌ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ถ๊ฐํ ๋.dockerignoreํ์ผ์ ์ค์ ํ ํ์ผ๊ณผ ๋๋ ํฐ๋ฆฌ๋ ์ ์ธ๋ฉ๋๋ค.
์ฐ๋ถํฌ, curl
FROM ubuntu:latest
RUN apt update
RUN apt install -y curl
RUN curl http://zlib.net/zlib-1.2.8.tar.gz | tar -xz
์ฐ๋ถํฌ, wget
FROM ubuntu:latest
RUN apt update
RUN apt install -y wget
RUN wget http://zlib.net/zlib-1.2.8.tar.gz -O - | tar -xz
CentOS, curl
FROM centos:latest
RUN yum install -y curl tar
RUN curl http://zlib.net/zlib-1.2.8.tar.gz | tar -xz
CentOS, wget
FROM centos:latest
RUN yum install -y wget tar
RUN wget http://zlib.net/zlib-1.2.8.tar.gz -O - | tar -xz
์ธํฐ๋ท์ ํ์ผ URL์ ์์ถ ํด์ ํ์ฌ ์ถ๊ฐํ๊ธฐ
์์์ ์ค๋ช
ํ ๊ฒ์ฒ๋ผ ADD๋ ํ์ผ URL์ ์์ถ๋ง ํด์ ํ๊ณ tar๋ ํด์ ํ์ง ์์ต๋๋ค. ์ด๋๋ RUN์ผ๋ก curl์ด๋ wget์ผ๋ก ํ์ผ์ ๋ฐ์ ๋ค ์์ถ์ ํด์ ํ๋ฉด ๋ฉ๋๋ค.
๋ค์์ tar, tar.gz, tar.bz2, tar.xz ํ์ผ์ ์์ถ์ ํด์ ํ๋ ๋ฐฉ๋ฒ์
๋๋ค.
ubuntu:latest๋bzip2๊ฐ ์ค์น๋์ด ์๊ณ , xz๋ ์ค์น๋์ด ์์ง ์์ต๋๋ค.xz๋apt-get์ผ๋กxz-utilsํจํค์ง๋ฅผ ์ค์นํฉ๋๋ค.centos:latest๋xz๊ฐ ์ค์น๋์ด ์๊ณ ,bz2๋ ์ค์น๋์ด ์์ง ์์ต๋๋ค.bz2๋yum์ผ๋กbzip2ํจํค์ง๋ฅผ ์ค์นํฉ๋๋ค.
RUN curl http://example.com/hello.tar | tar -x
RUN curl http://example.com/hello.tar.gz | tar -xz
RUN curl http://example.com/hello.tar.bz2 | tar -xj
RUN curl http://example.com/hello.tar.xz | tar -xJ
ADD๋ก ์ถ๊ฐ๋๋ ํ์ผ์ ์์ ์(UID) 0, ๊ทธ๋ฃน(GID) 0์ผ๋ก ์ค์ ๋๊ณ ๊ถํ์ ๊ธฐ์กด ํ์ผ์ ๊ถํ์ ๋ฐ๋ฆ
๋๋ค. URL๋ก ์ถ๊ฐํ๋ฉด ๊ถํ์ 600์ผ๋ก ์ค์ ๋ฉ๋๋ค.
์ฐธ๊ณ
UID 0, GID 0์ root ๊ณ์ ์ ๋๋ค.