본문 바로가기
Server/Docker

[Docker ★] 컨테이너 서버구축 과정

by Youngs_ 2022. 5. 31.

필자는 AWS에 도커 컨테이너를 이용하여 프로젝트를 서버에 올리는것을 목표로 공부하고있다.

필자가 포스팅 해놓은 글들을 순서대로 나열하여 우분투에 Tomcat9, 오라클 21c를 설치하여 컨테이너를 만드는 과정을 나열해보겠다.

컨테이너로 파일을 보내야할때는(리눅스 설치파일 이라던지..) ftp를 이용해도 괜찮지만 아래 명령어를 이용해 파일을 전송할수있다.

$ docker cp [복사할 파일] [컨테이너 이름]:[복사할경로]
# 파일 복사 명령어
# ex) docker cp ROOT.war [컨테이너 이름]:/usr/local/tomcat/webapps/

$ docker exec -i -t [컨테이너 ID] /bin/bash
# cmd 창에서 컨테이너 여는 명령어

 

1. 우분투 컨테이너 생성

필자는 우분투로 받지않고, 오라클리눅스를 pull 받아서 아래를 진행하였다.

2022.05.30 - [Server/Docker] - [Docker] ubuntu 컨테이너 생성

 

[Docker] ubuntu 컨테이너 생성

Powershell 혹은 cmd를 오픈합니다. 1. docker version 확인 2. docker 우분투 찾기 3. docker 우분투 내려받기 4. docker 이미지 확인 5. docker 이미지 생성 6. docker 확인 7. docker 우분투 Container 시작 8..

youngsblog.tistory.com

 

2. 우분투에서 톰캣 설치

2022.05.31 - [운영체제/Linux] - [Linux] 우분투에서 톰캣 설치

 

[Linux] 우분투에서 톰캣 설치

ApacheTomcat 9 설치 방문Apache Tomcat Site. ApacheTomcat 9을 다운로드합니다. 다운로드tar.gz (pgp, sha512)ApacheTomcat의 핵심 바이너리 발행판. 터미널을 열고 cdApache Tomcattar.gz 파일을 다운로드하..

youngsblog.tistory.com

필자는 톰캣 포트를 18080:8080으로 하여 localhost:18080을 입력하면 컨테이너의 8080 포트에 매핑되도록 하였다.

localhost:18080

/opt/apache-tomcat-9.0.63/bin에서 ./startup를 실행하면 톰캣이 실행되고 ./shutdown을 실행하면 톰캣이 중지된다.

3. 오라클 설치

2022.06.03 - [운영체제/Linux] - [Linux] 오라클 21c 설치

 

[Linux] 오라클 21c 설치

필자는 아직 안해봤다   https://www.oracle.com/kr/database/technologies/xe-downloads.html 해당 페이지에서 설치파일을 받는다. 주의: "sampleSchema true"는 21c에서 지원되지 않습니다. >> [ FATAL ][ DBT..

youngsblog.tistory.com

오라클 설치 후 아래 내용을 진행해야 한다.

$ docker exec -it [컨테이너 ID] /bin/bash
$ su oracle
	# oracle 계정으로 로그인
$ echo $ORACLE_HOME
	# $ORACLE_HOME이 적용 되었는지 확인,
$ source ~/.bash_profile
	# ORACLE_HOME이 적용되어있지 않다면 source 명령어를 통해 적용
$ sqlplus
	# sys as sysdba 계정으로 로그인, 비밀번호없이 그냥 엔터치면됨
$ SQL> startup
	# sqlplus에 로그인한 후 오라클 시작

 

ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/opt/oracle/dbs/initORCLCDB.ora'
SQL> startup 
/*
startup 명령어 실행시 위와 같이 에러가 나온다면
vi .bash_profile 파일에서 ORACLE_SID를 수정한다.
필자는 ORACLE_SID가 XE로 설정되어있어야 했는데 ORCLCDB로 되어있어서 해당에러가 나왔다.
*/

 

설치를 한 후에 메모리가 부족하다면서 sql문이 안될때는 메모리를 수정해야 한다고하는데 컨테이너를 생성할때 --privileged 옵션을 넣어야 한다고 한다.

--privileged 옵션을 넣었는지 아래 명령어를 넣어서 확인할수있다. true || false로 값이 나온다.

docker inspect --format='{{.HostConfig.Privileged}}' [컨테이너명]

4. 프로젝트 삽입

2022.05.18 - [Server/Docker] - [Docker] 컨테이너를 만들고 프로젝트 넣기

 

[Docker] 컨테이너를 만들고 프로젝트 넣기

docker pull tomcat:9.0 위 명령어를 이용해 tomcat 9.0 이미지를 받는다. 다른 버전을 받아도 상관없다. 그 후에 아래 명령어를 이용해 컨테이너 생성 및 포트포워딩을 하고, war로 만든 프로젝트를 넣는

youngsblog.tistory.com

프로젝트를 삽입하고 난 후에 localhost:18080에 들어가면 404 에러가 뜨지만, 내가 생성한 페이지에 들어가면 정상적으로 나오는듯하다(오라클을 설치하지 않아서 아직 500에러가 나온다.), 해당부분 해결하는 부분은 일단 보류


추가 참고링크

2022.05.31 - [Server/Docker] - [docker] 컨테이너 포트 변경

 

[docker] 컨테이너 포트 변경

도커 컨테이너 포트를 변경하기 위해서는 컨테이너를 commit하여 이미지로 만든 후 다시 해당 이미지를 다시 컨테이너로 만들며 포트를 열어줘야한다. 아래 명령어를 사용하여 해당 루틴을 실행

youngsblog.tistory.com

 

댓글