[Docker] Dockerfile 이미지 빌드와 Cache
DevOps/Docker2022. 5. 11. 21:32[Docker] Dockerfile 이미지 빌드와 Cache

✔️ Docker Cache ubuntu 이미지를 httpd 서비스 이미지로 만드는 Dockerfile이다. vagrant@docker  ~/image-build/myweb-ubuntu  cat Dockerfile FROM ubuntu:focal RUN apt update; DEBIAN_FORNTEND=noninteractive apt install tzdata RUN ln -sf /bin/share/zoneinfo/Asia/Seoul /etc/localtime RUN apt install -y apache2 COPY index.html /var/www/html/index.html EXPOSE 80/tcp CMD ["/usr/sbin/apache2ctl", "-DFOREGROUND"] FROM RUN..

[Docker] ubuntu 이미지로 httpd 서비스 이미지 만들기 ( + Timezone 세팅)
DevOps/Docker2022. 5. 11. 18:39[Docker] ubuntu 이미지로 httpd 서비스 이미지 만들기 ( + Timezone 세팅)

✔️ ubuntu 이미지로 httpd 이미지 만들기 ubuntu 이미지로 httpd 서비스가 동작하는 이미지를 만들기 위해서는 Timezone 설정이 필요하다. ls -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime Timezone 설정을 위해서는 해당 명령을 실행해야 하는데 파일이 없어서 실행할 수 없다. tzdata : /usr/share/zoneinfo 라고 하는 디렉토리와 하위 파일을 생성하는 패키지이다. apt update apt install tzdata apt update를 수행 후 apt install tzdata로 tzdata 패키지를 설치한다. tzdata를 설치할 때 대륙과 국가를 묻는 대화 형식의 설치창을 볼 수 있다. Current defau..

DevOps/Docker2022. 5. 11. 16:37[Docker] Shell(쉘) 변수

✔️ Shell(쉘) 변수 Shell에서 $ 표시는 모두 변수를 참조한다는 뜻이다. a.sh #!/bin/sh echo "\$MSG = $MSG" # MSG 변수를 출력 echo "\$@ = $@" echo "\$0 = $0" # 출력된다. echo "\$1 = $1" vagrant@docker  ~  ./a.sh abc xyz 123 456 789 111 $MSG = $@ = abc xyz 123 456 789 111 $0 = ./a.sh $1 = abc $2 = xyz $3 = 123 $0 - 명령어 $n(n = 1, 2, 3...) - 인자 $@ : 명령어를 제외하고 나머지 모든 인수 vagrant@docker  ~  MSG="hello world" vagrant@docker  ~  ./..

[Docker] Dockerfile로 이미지 빌드하기
DevOps/Docker2022. 5. 11. 02:11[Docker] Dockerfile로 이미지 빌드하기

✔️ Dockerfile로 이미지 빌드 Dockerfile reference docs.docker.com 현재 디렉토리에 도커 파일이 있어야 한다. 현재 디렉토리를 기준으로 하위 디렉토리의 내용까지 모두 이미지로 만들기 때문에 root에서 작업하지 않는다. 도커 파일 작성시 Instruction은 관습적으로 대문자로 작성한다. ✔️ Instruction ✔️ FROM Base Image FROM FROM [:] FROM [@] ✔️ RUN RUN - execute command, 이미지를 빌드하는 중에 실행할 명령어를 지정한다. Shell Form RUN yum install httpd → /bin/sh -c yum install httpd Exec Form RUN ["yum", "install", "h..

[Docker] Docker 컨테이너 관리 명령어 (2)
DevOps/Docker2022. 5. 7. 15:33[Docker] Docker 컨테이너 관리 명령어 (2)

✔️ 컨테이너에서 (추가)애플리케이션 실행 docker exec docker exec -it a8 bash docker exec a8 cat conf/httpd.conf exec 명령을 일반적으로 가장 많이 사용하는 형태이다. 어떤 어플리케이션을 띄워놓고 확인하고 변경이 필요할 때 bash를 띄워 접근한다. 아니면 단순히 명령어를 확인해보고 싶은 경우에도 이 방식을 사용한다. ✔️ attach vs exec docker attach docker exec 두 명령어의 사용법을 비교해보자. app이 정상 작동하는지 검사 해보거나 컨테이너 내부로 진입하고 싶을 때 다음과 같이 -it 옵션을 붙여 실행한다. vagrant@docker  ~  docker run -it httpd bash root@cf6769..

DevOps/Docker2022. 5. 7. 13:12[Docker] Docker 이미지 관리 명령어

✔️ Docker 관리 ✔️ 최신 Docker 명령 구조 docker container docker image docker network docker volume ✔️ 이미지 ✔️ 이미지 목록 확인 로컬 레지스트리의 이미지 목록을 확인한다. docker images docker image ls vagrant@docker  ~  docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu latest d2e4e1f51132 4 days ago 77.8MB amazonlinux latest 365842604a8b 12 days ago 164MB httpd latest c30a46771695 13 days ago 144MB hello-world latest feb..

image