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 ๊ณ์ ์ ๋๋ค.