Java 기반 클라우드 융합 개발자 과정 - KH 정보교육원/10월

22.10.20 - [ Docker ] 파일 복사, 파일 배포 ( window, docker ) + @ 오라클 설치

giggs 2022. 11. 8. 15:42

 

 

-- INDEX --

 

 

1. 파일복사 ( 복습 ) 2. 배포
window에서 수동으로
배포해보기
3. 배포
docker 컨테이너로
배포해보기
이미지, 컨테이너 다루기
파일복사
HOST 톰캣 - webapps 하위에
배포할 war파일 넣어주기
컨테이너 톰캣 - webapps 하위에
배포할 war파일 넣어주기

 

4. 도커 파일 만들기 ( 이론 ) 5. 도커 파일 만들기 ( 실습 ) 6. docker 에 oracle 설치하기
이미지 조합위한
모든 명령을 포함하는
텍스트 문서
확장자 없애고,
파일 이름은 Dockerfile로 만들기
Docker File 빌드하기
(== 이미지 만들기)
docker run -d
--name mydb
-p 40000:1521
-e TZ=Asia/Seoul
oracleinanutshell/
oracle-xe-11g

 

 

 


 

 

 

1. 파일 복사

  • 복습 - 이미지, 컨테이너 다루기
  • 복습 - 파일 복사

 

 

1-1 : 이미지, 컨테이너 다루기

 

 


 

1-2 : 파일 복사

 

 

1. 컨테이너 시작하고 ( run 또는 start )

2. 해당 컨테이너의 root (shell)에 접속 : exec –it 컨테이너명 /bin/bash

3. 리스트 확인 ( ls ) : 옵션은 ( -a –l –al –la 사용 )

4. webapps 폴더로 들어가기 : cd webapps

5. 거기에 khPrj 폴더 하나 만들고 : mkdir khPrj

6. 쉘 빠져나와서 : exit


 

7. 복사할 txt 파일 경로를 바탕으로 복사해주기 :

 

 

  • 7-1 : 복사하는 곳 경로 확인

 

 


 

  • 7-2 : docker cp <타겟파일경로> <복사할경로>

 

 


 

 

8. 복사 완료되면 한 곳 가서 잘 되었나 확인하기

 

 


 

 

9. tomcat 재시동하고 – docker restart kh_tomcat

 

 

 

10. 해당 경로로 요청해서 잘 나오나 테스트해보기

 

 

 

 

 


 

 

 

 

 

2. 배포 - window에서 수동으로 배포해보기

 

 

 

2-1 : 배포란?

  • webapps/ 하위에 파일이 아닌 프로젝트를 올려주면 / 프로젝트 배포!
  • 웹 개발에서는 – war 파일로 해주어야 한다.

 

 


 

 

2-2 : sts에서 내보낼 프로젝트 Export – WAR file

  • 배포할 war파일 준비
  • 경로 뒤에 확장자명 .war해주어야한다.

 

 

 


 

 

3-3 : 이 war파일을 tomcat에 올려주면 – 그것이 배포이다!

 

 

 

3-1 : 배포할 war파일 확인

 

 


 

 

3-2 : 톰캣에 war파일 넣어주기

  • war파일만 넣어주었는데 톰캣이 자동으로 압축 풀어서 폴더 만들어주었다.

 

 


 

 

3-3 : 톰캣에 요청 보내서 확인해보기

 

 

 

 

window에 있는 톰캣에 배포 완료!

 

 

이제 도커 가지고 배포하는 거 해보자

 

 

 

 

 


 

 

 

 

 

3. 배포 - docker 컨테이너의 톰캣에 올려보기

 

 

 

 

▣ 컨테이너 톰캣의 webapps 하위에 - 플젝.war파일 넣어주면 배포 완료이다.

▣ 현재 배포할 war파일 준비 완료

▣ 윈도우에서 컨테이너로 파일 복사하는 것 가능

 

 

 


 

 

+@ 파일 이동시키기 mv 파일명 옮길 경로

 

 

 

 

 

 


 

 

 

 

 

4. 도커 파일 만들기 ( 이론 )

 

4-1 도커 파일 이란?

 

 


 

 

4-2 : 도커 파일 생성하기

  • 도커 파일 만드는 방법중 2번째 방법으로 만들어 볼 것이다.

 

 

 

 


 

4-3 : 도커파일 명령어 

 

RUN shell한테 명령을 주고 싶을 때 RUN을 사용하면 된다.

 

 


 

4-4 : 도커파일 작성 예제

 

 

>이렇게 만들고 build 하면 image가 만들어진다~

 

 

 

 

 

 


 

 

 

 

 

5. 도커 파일 만들기 ( 실습 )

 

 

5-1 : 확장자명 없이 파일 하나 만들고 메모장으로 실행

  • 확장자 없애고, 파일 이름은 Dockerfile로 만들기

 

 

 


 

 

5-2 : 이미지를 만들어 줄 수 있는 도커 파일을 만드는 중이다.

  • 도커파일 내에서 주석은 [ # ]

 

 

 

#도커 파일 장점

  • 1. 도커 파일에 내이름/버전/타임존 등 설정 미리 해줄 수 있어서 컨테이너 실행할 때 –e 해서 설정 작업 필요 없어진다.
  • 2. 컨테이너 webapps까지 찾아가서 내가 만든 war파일 넣어서 배포하는 작업을 미리 설정해 놓을 수 있다.
  • --- 도커 이미지 생성 단계에서부터 이 파일을 찾아서 지정 경로에 넣어줄 것이다.
  • --- 현재경로(./)에 올릴 war 파일을 미리 준비해놓아야 한다.
  • --- 도커 파일이 존재하는 경로는 5-1 참조 – D:\dev\dockerRepo
  • --- 도커 파일만 실행하게 되면 – 그 안에 작업들이 실행되게 되어서 추가 작업 필요 없다.

 

 

 

 

도커파일은 – 이미지를 만들기 위해서 존재한다.

도커파일을 build 하게되면 – 이미지가 나온다.

 

 


 

 

5-3 : Docker File 빌드하기 == 이미지 만들기

  • 내가 만든 도커 파일 실행해서 이미지 만들기

 

 

docker build -t custom_image:5.55 D:\\dev\dockerRepo 

  • 경로에 Dockerfile 은 생략 가능 / 근데 도커 파일 이름 Dockerfile 말고 다른 걸로 지었으면 지정해주어야 한다.

 

 

 

 


 

 

5-4 : 내가 만든 이미지 실행해서 컨테이너 만들기

  • 이렇게 우리가 만든 image인 custom_image를 실행만 해주면
  • 컨테이너에 – tomcat + war파일 들어가 있을 것이다.

 

 

도커파일에 war파일 추가해주는 거 미리 써놨더니

 

추가 작업 필요 없이

= ( 도커 컨테이너에 tomcat을 설치하고 - webapps 찾아가서 배포할 war파일 복사해주는 작업 )

 

컨테이너를 실행하는 것만으로도 배포되었다!

 

 

 

 

 


 

 

 

 

6. docker에 oracle 설치하기

 

 

6-1 : run 명령어 실행 

  • docker run -d
  • --name mydb
  • -p 40000:1521
  • -e TZ=Asia/Seoul
  • oracleinanutshell/
  • oracle-xe-11g

 

 

 

 

>독허브 로컬에서 orcale 찾지 말고oracleinanutshell/에서 찾아서 설치하도록 경로 지정해주었다.

>독허브 로컬에서 설치 안 될 수도 있는 경우가 있어서 경로 지정해준다.

>run / -d / --name / -p / -e 옵션 체크

 

 


 

 

6-2 : 도커에 설치된 oracle db 사용해보기

  • 기본 설정되어있는 사용자 이름과 비밀번호 사용
  • 내가 설정한 포트번호로 접속

 

 

 


 

 

 

이제 우리는 docker 활용해서 tomcat / oracle 설치가능하다.

local 컴퓨터의 환경설정에 영향 안 받고 작업할 수 있다는 것이다.

 

cloud 컴퓨터 만들어서 linux 설치하고

docker 설치 가능하고

tomcat과 oracle 설치 가능하고

war 파일을 통해 배포 가능하겠다!