Docker

111_Docker: Dockerfile

Joon D&K 2022. 7. 18. 21:30
1. Dockerfile
2. Dockerfile로 httpd Image 만들기
3. Dockerfile로 vsftpd Image 만들기
4. Dockerfile로 named Image 만들기

 

1. Dockerfile


 - 코드 형태(Docker inspect)로 Image를 제작할 수 있는 FILE

 - 파일명은 반드시 Dockerfile

 - 구성

Command Desc
FROM Base Image 지정
MAINTAINER 작성자 지정
RUN 명령어 실행
COPY Local 디렉토리로부터 파일 복사
CMD 데몬 실행
ENTRYPOINT 데몬 실행 (CMD보다 우선)
EXPOSE 포트 지정
ENV 환경변수 설정
WORKDIR 작업 디렉토리 지정
USER 사용자 지정

 

 

2. Dockerfile로 httpd Image 만들기


Dockerfile은 별도 디렉토리에서 작업하는 것이 좋음
CentOS7 Base Image에 httpd 설치
Container에 넣을 index.html
내용 입력
Dockerfile로 Image 생성
생성한 Image로 httpd Container 실행
정상 접속 확인

 

3. Dockerfile로 vsftpd Image 만들기


ftp 디렉토리에서 Dockerfile 작업 진행
CentOS7 Base Image에 vsftpd 설치
banner 파일 생성
내용 입력
chroot 파일 생성
내용 입력
user 생성 파일 생성
내용 입력
vsftpd 설정 파일 생성
필요한 내용만 입력해도 가능
Dockerfile로 Image 생성
생성한 Image로 ftp Container 실행
정상 접속 확인

 

4. Dockerfile로 named Image 만들기


dns 디렉토리에서 Dockerfile 작업 진행
CentOS7 Base Image에 named 설치
named.rfc1912.zones 파일 생성
내용 입력
zone 파일 생성
내용 입력
zone 파일들을 읽기 위한 권한 설정
Dockerfile로 Image 생성
생성한 Image로 named Container 실행
주 DNS를 named Container가 있는 Server의 IP로 수정
정상 연결 확인