상세 컨텐츠

본문 제목

[Docker] Script 작성 | Image 생성

IT/Docker

by o_zeew 2022. 6. 3. 18:14

본문

(수정중)

(1) Docker Script 작성

(2) Docker image 생성


 1. Docker Script 작성

  - 문제

 

1. 인터넷 연결 확인

google.com으로 ping 가능

 

2. 스크립트 작성

 

  - docker를 사용하기 위해 필요한 프로그램 yum으로 설치

  - yum config manager로 docker repository 가져오기

  - docker 실행 후 image(httpd, nginx, alpine, centos7) 다운

  - 네트워크 생성(N1, N2)

  - cat 명령어를 사용해 시작페이지(index.html, index1.html) 작성

  - 네트워크에 맞춰 컨테이너 생성(N1-h1, N2-n1) 

  - index.html, index1.html을 각각의 컨테이너에 밀어넣기

  - 로드밸런싱을 위해 haproxy 설치 후 설정파일 문자변환

  - 시스템 시작 후 방화벽 열기

 

3. 스크립트 권한 변경

user에게 x(실행) 권한 부여

 

4. 스크립트 실행

현재 디렉토리의 docker.sh 파일 실행

 

5. 스크립트 실행 확인

  - 새로고침 시 두개의 서버가 부하 분산을 통해 서비스 됨

 


 

<파일 일치 확인>

파일을 열어보지 않고 두 파일이 일치하는 파일인지 확인

 

  - docker.sh 파일을 docker1.sh 파일로 복사

 

  - docker1.sh 파일 내용 수정

nginx&nbsp;&rarr; ngigx

 

  - diff 명령어를 통해 파일의 다른 내용을 확인 가능

docker.sh 파일의 nginx와 docker1.sh 파일의 ngigx 확인 가능

 


 

<docker 삭제 스크립트>

삭제 스크립트 생성

 

  - 생성한 모든 컨테이너 삭제

  - 생성한 모든 네트워크 삭제(N1, N2)

  - 다운받은 이미지 삭제(httpd, nginx, alpine, centos7)

  - index.html, index1.html 삭제

  - 도커 패키지, yum-utils, haproxy 삭제

  - haproxy 백업파일 삭제

  - docker repository 삭제

  - 방화벽 80번 포트 닫기

user에게 실행(x)권한 부여

 

 


 

 

2. Docker Image 생성

  - Image와 Container는 엄연히 다른 것 

  - Image를 실행시킨 것이 Container

 

<commit>

    - 현재 설정파일까지 다 저장하기 때문에 가장 편하고 좋은 방법

    - commit 하면 컨테이너가 image로 만들어진다. save 해서 tar로 묶은 후 B에서 load 하고 실행하면 됨 > 가장 좋은 방법

 

  * 실행중인 컨테이너가 있다면 삭제 후 진행

 

1. 컨테이너 생성

httpd Image를 이용하여 8080번 포트의 h1 컨테이너 생성
컨테이너 실행 확인
시작페이지 생성 후 h1에 밀어넣기
시작페이지 적용 확인

 

2. commit으로 이미지파일 생성

  - commit 시 리포지토리:태그 없이 생성하면 이름없는 Dangle 이미지가 생성됨

commit 명령어만 사용해서 이미지 파일 생성
Dangle 이미지 삭제
리포지토리:태그 적용하여 h1 컨테이너를 이미지파일로 생성

 

3. commit으로 생성한 이미지 파일을 사용해 컨테이너 생성

commit으로 생성한 jwoh0405/centos:httpd 이미지파일을 사용하여 9090번 포트로 컨테이너 생성

 

  - 9090번 포트로 접속 시 8080번 포트와 동일한 설정 확인 가능 

 


 

<save & load>

관련글 더보기