반응형
개요
구성환경
Docker-19.3.0, CentOS 6.7
참조 : https://docs.docker.com/engine/reference/builder/
예제 1) apache httpd 이미지 빌드
1. image 다운로드
shell> docker pull httpd:2.4.41
2. Dockerfile 편집
FROM httpd:2.4.41 MAINTAINER admin@hoya.com WORKDIR /usr/local/apache2 COPY index.html htdocs/index.html ADD zip.tar.gz htdocs/ |
- FROM : 이미지
- MAINTAINER : 새 레이어의 Author 필드 설정
- WORKDIR : 새 레이어의 디렉토리로 이동
- RUN : RUN 명령은 현재 이미지 위에 새 레이어의 명령을 실행하고 결과를 커밋합니다. 커밋 된 결과 이미지는 Dockerfile의 다음 단계에 사용됩니다.
- COPY : 로컬 파일시스템의 새 파일 또는 디렉토리를 복사하여 경로의 컨테이너 파일 시스템에 추가합니다. dest가 상대 디렉토리일 경우 WORKDIR이 기준이 된다. wildcard(*,?, ....)를 사용할 수 있다
- ADD : COPY와 동일하나 , 압축파일(.tar.gz)일 경우 새 레이어의 디렉토리에 추가시 압축을 해제한다.
- CMD : docker run 실행 시 명령어를 주지 않았을 때 사용할 default 명령을 설정
3. 빌드
Usage : docker build -t <image tag> <PATH | URL>
shell> docker build -t httpd-myapp:v1 .
4. 실행
shell> docker run -it -d -p 80:80 --name myapp httpd-myapp
shell> curl localhost/index.html
예제 2) debian 빌드
1. image 다운로드
shell> docker pull debian:10.3
2. Docker 편집
- procps는 /proc 파일시스템 도구로써 free, kill, pkill, pgrep, pmap, ps, pwdx, skill, slabtop, snice, sysctl, tload, top, uptime, vmstat, w, 그리고 watch가 들어있습니다.
FROM debian:10.3 MAINTAINER admin@hoya.com run apt update run apt -y install procps CMD top |
- RUN : RUN 명령은 현재 이미지 위에 새 레이어의 명령을 실행하고 결과를 커밋합니다. 커밋 된 결과 이미지는 Dockerfile의 다음 단계에 사용됩니다.
- CMD : docker run 실행 시 명령어를 주지 않았을 때 사용할 default 명령을 설정
3. 빌드
shell> docker build -t debian-top:v1 .
4. 실행
shell> docker run -it --rm debian-top:v1
shell> docker run -it --rm debian-top:v1 top - 15:23:38 up 2:40, 0 users, load average: 0.12, 0.04, 0.05 Tasks: 1 total, 1 running, 0 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 5787.0 total, 3763.8 free, 866.9 used, 1156.3 buff/cache MiB Swap: 0.0 total, 0.0 free, 0.0 used. 4597.0 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 8000 1652 1244 R 0.0 0.0 0:00.05 top |
반응형
'가상화 > Kubernetes' 카테고리의 다른 글
[Docker] Priviate registry 구성 #1 - 설치 (0) | 2020.03.31 |
---|---|
[kubernetes] TroubelShooting (0) | 2020.03.27 |
[kubernetes] 웹 UI(대시보드) (0) | 2020.03.23 |
[kubernetes] kubeadm을 사용하여 고 가용성(HA) 클러스터 만들기 (0) | 2020.03.22 |
[kubernetes] 설치 (0) | 2020.03.15 |