ADD myfile /var/tmp/
COPY myfile2 /var/tmp/
WORKDIR /var/tmp/
EXPOSE 80
ENV var1="hello"
LABEL maintainer "Jinung Ahn<anjinwoong@naver.com>"
LABEL title="mynginx"
LABEL vers="1.0"
LABEL description="...."
ONBUILD ADD world.txt /world.txt
# 베이스 이미지 지정. 빌드시 메모리에 올라가게됨
FROM centos:7
# RUN 으로 명령 실행. 달력 실행
RUN cal
RUN echo "test" > /var/sample.txt
docker build --tag 새이미지명:버전 Dockerfile디렉토리
docker build --tag myimage:v1.0 /home/devops/test
FROM alpine
RUN echo "test" > /tmp/testfile
RUN cal
RUN cal > /tmp/cal.txt
#RUN /bin/sleep 3600s
# RUN에 sleep 을 길게 넣어도 컨테이너 실행하면 죽음.
# RUN 명령어는 빌드시 실행하는 것이고, 컨테이너가 시작될 때 실행하는 것이 아니므로.
ENTRYPOINT /bin/sleep 600s
#ENTRYPOINT : 컨테이너 실행 명령. 단 1개만 허용됨(여럿 있을 경우 맨 마지막 1개만 사용됨) 당연히 빌드시엔 실행되지 않음
CMD /bin/sleep 600s # 실행시 변경될 수 있음
docker build -t .
※ alpine 리눅스는 bash 대신 ash 쉘을 사용함
실행 후 쉘 접근해서 RUN 이 잘되었는지 체크
[devops@server1 test_alpine]$ docker exec -it elegant_poitras /bin/ash
/ # cat /tmp/testfile
test
/ #
FROM alpine
RUN echo "test" > /tmp/testfile
RUN cal
RUN cal > /tmp/cal.txt
ENTRYPOINT top
CMD ["-d", "10"] # ENTRYPOINT 의 default 인자 지정 (변경 가능)
docker run -d myalpine:3.0
docker run -d myalpine:3.0 "-d 3"
docker ps --no-trunc
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
402d499af7c7fe5cd01323a22be4ef7e76e887937a16d09a0f5b0cc90ff27bbf myalpine:3.0 "/bin/sh -c top '-d 3'" 18 seconds ago Up 18 seconds beautiful_lichterman
9bfa931772736a0f2a9a75ecb2e0bc5f4ba803f6367ca0baa4b1dbcaccb938c8 myalpine:3.0 "/bin/sh -c top -d 10" 54 seconds ago Up 53 seconds goofy_goldberg
cb6a92e7c5eff1d42531fae5c4d26f4887f7beae6b9d4afb2d8fe6c7173e6b33 custom_httpd24:v2.0 "httpd-foreground" 2 hours ago Up 2 hours 80/tcp myapache
[devops@server1 test_alpine3]$
FROM ubuntu:18.04
LABEL maintainer="anjinwoong"
# install nginx
# 리눅스 && 연산자를 이용해 RUN 여러번 안하고 명령어 수행하도록 할 수 있음
RUN apt-get -y update && \
apt-get -y upgrade && \
apt-get -y install nginx
EXPOSE 80
OBBUILD ADD website.tar /var/www/html/
ENV var1="hello" var2="linux"
CMD ["nginx", "-g", "daemon off;"]