Docker

22.06.03

가로선 2022. 6. 3. 16:30

 

   목차   

 

1. Dockerfile 만들기

 - 사용 방법

 - HTTPD

 - FTP

 - DNS

 - VirtualHost


 

   Dockerfile 만들기   

 

   사용 방법    

 - Dockerfile : 이미지를 만들어낼 수 있는 명령어

 

 COMMAND Description COMMAND Description
FROM 베이스이미지 지정 ADD 파일추가(외부파일 불러오기)
MAINTAINER 작성자 지정 COPY 파일복사 : Local 디렉터리
RUN 명령어 실행 VOLUME 볼륨마운트
CMD 데몬 실행 ENTRYPOINT 데몬실행 : CMD보다 우선
LABEL 라벨 설정 USER 사용자 설정
EXPOSE 포트 내보내기 WORKDIR 작업디렉터리 지정
ENV 환경변수 설정 ONBUILD Build 후 실행 명령

    - 가장 중요한 명령어는 FROM!!!!   

    - Dockerfile을 만들기 위해서는 반드시 Dockerfile이라는 이름으로 되어있어야한다

 

Dockerfile 생성

    - 생성한 test.txt를 사용하여 / 디렉터리로 옮기는 이미지 생성

        - test.txt라는 파일을 미리 같은 디렉터리내에 생성

 

이미지 생성

    - docker build -t옵션을 사용하여 이미지를 생성한다

        - 리포지토리:태그 뒤에 꼭 . 붙여줘야한다!!!!!

 

이미지가 생성된 것을 확인

 

c1이라는 이름의 컨테이너를 만든 이미지를 사용하여 생성

    - 생성한 컨테이너 루트 디렉터리에 test.txt가 생성이 되어있는 것을 확인

 

생성된 컨테이너에 접속하여 cat으로 내용 확인

 

   HTTPD   

 

httpd 사용을 위해 Dockerfile 생성

    - httpd라는 디렉터리를 생성하여 같은 곳에 index.html도 생성

 

docker build t옵션을 사용하여 이미지가 생성된 것을 확인

 

h1 컨테이너 생성

 

웹페이지 접속 확인

 

   FTP   

 

vsftpd 디렉터리에 필요한 설정파일 생성

    - vsftpd.conf는 Host에서 설치 후, 설정파일을 vsftpd로 복사하였다

 

FTP 배너 생성(banner.txt)

 

사용자 격리를 위해 생성(chroot_list)

 

사용자 생성 스크립트(user.sh)

 

Dockerfile 생성

    - 각각의 설정파일들을 정해진 위치로 복사

    - 각각의 서비스 실행파일들은 한번 씩 확인해보자!!

 

banner 위치 변경

 

이미지 생성

 

이미지 생성된 것 확인

 

컨테이너 생성

 

a 사용자 ftp 접속 확인

 

b 사용자 ftp 접속 확인

    - b 사용자는 chroot_list에 추가되어있지 않아 격리가 되지 않고 이곳저곳 다닐 수 있다

 

   DNS   

 

named라는 디렉터리를 추가하여 설정파일들 복사

 

named라는 디렉터리를 추가하여 설정파일들 복사

 

named.rfc1912.zones 파일 수정

 

resolv.conf 파일 수정

 

정방향 레코드 파일 수정(knlee.xyz)

 

역방향 레코드 파일 수정(xyz.knlee)

 

Dockerfile 생성

    - 미리 만들어놓은 설정파일들을 해당 위치에 cp

    - Client가 해당 레코드 파일들의 내용을 읽어 올 수 있도록 other 권한 변경

        - 그냥 755로 진행하였다(o+rx도 가능)

    - 설정 후, 이미지 생성 진행

 

컨테이너 생성

    - 설정한 파일들에 맞게 IP, DNS 설정까지 진행

 

nslookup으로 생성한 DNS들 확인

 

DNS로 접속이 되는 것을 확인

 

DNS로 접속이 되는 것을 확인

 

DNS로 접속이 되는 것을 확인

 

   VirtualHost   

 - blog 페이지까지 생성해보기

 

필요한 설정파일들 생성

 

가상호스트 구성

    - W10-1에서의 테스트를 위해 W10-1에서만 접속이 가능하도록 설정

 

Dockerfile 생성

    - 웹페이지에는 index1.html을 출력시키기 위해 sed 명령어로 httpd 설정파일 변경

    - 블로그 페이지에는 index.html 출력

    - 테스트를 위해 구성한 DNS에 blog DNS 추가

 

컨테이너 생성

 

메인페이지 변경 확인

 

블로그 페이지 접속 확인

    - 블로그 페이지 접속까지는 되나 제대로 동작 x

        - 잘못 생각한 부분 확인 후 수정예정

 

'Docker' 카테고리의 다른 글

22.06.02  (0) 2022.06.02
22.06.01  (0) 2022.06.01
22.05.31  (0) 2022.05.31
22.05.30  (0) 2022.05.30
22.05.27  (0) 2022.05.27