Sangil's blog

https://github.com/ChoiSangIl Admin

docker rmi must be forced 에러 DEV / SERVER

2019-08-12 posted by sang12


해당 오류 발생 시, docker rmi -f [image Id] 로 삭제

#docker rmi must be forced

Docker tomcat(톰캣) war파일 배포하기 DEV / SERVER

2019-08-12 posted by sang12


도커를 이용하여 아주 간단하게 WAR파일을 배포 하는 방법을 알아보겠습니다.

* 실제 서비스에서는 dockerfile로 이미지를 만들고 docker-compose와 jenkins, git 등을 사용하여 deploy하지만, 이번 포스팅에서는 도커 컨테이너를 올리고 해당 컨테이너에 WAR파일을 가져와서 이미지를 COMMIT하여 TOMCAT에 서비스하는 작업을 하겠습니다.

일단 준비물로는 배포해야 할 웹서비스 WAR파일이 필요합니다. (SPRING BOOT를 이용하여 간단하게 WAR파일을 생성합니다. 이번 포스팅에서는 해당 부분은 제외합니다)

 

$ docker run -d -it -p 8080:8080 --name blog_tomcat tomcat:8tomcat 8이미지를 포트 8080으로 시작. 해당 이미지가 없으면 존재하지 않으면 다운 받습니다.


그리고 docker ps명령어를 치면 tomcat이 올라가 있는 것을 확인 할 수 있습니다. 저는 war파일에서 db를 바라보기 있기 때문에 db도 미리 올려놨습니다.

그리고 tomcat이 정상적으로 올라간 것을 확인 하기 위해 http://sang12.iptime.org:8080/ 또는 도매인 설정이 안되어 있는경우http://localhost:8080/ 로 접속해보면 귀여운 고양이가 한마리 반겨주는 것을 볼 수 있습니다.

이제 저희가 준비한 war파일을 컨테이너에 복사해줍니다.

# war파일 복사
$ docker cp ./ROOT.war blog_tomcat:/usr/local/tomcat/webapps
# bash shall 접속
$ docker exec -it blog_tomcat bash

-war파일 복사

-bash shall war파일 확인

WAR파일이 잘 복사된 걸 확인 했나요? 저는 이때 실수한게, 해당 컨테이너 안에서 /usr/local/tomcat/bin 폴더에서 shutdown.sh로 톰캣을 내리고 startup.sh로 올릴려고 했더니 container가 죽었습니다. 
그래서 원인을 찾아보니 해당 컨테이너 변경한 IMAGE로 만들어주고 재시작을 해야 제가 WAR를 복사한 이미지 상태로 톰캣이 올라가는 것이였습니다. 그랬습니다.. :)

# docker commit (현재 컨테이너를 이미지화 하기)
$ docker commit -a sangil.choi blog_tomcat sang12_tomcat
# 도커 이미지 조회
$ docker images

docker commit으로 현재 container를 이미지로 만들고 docker images명령어를 사용하여 조회해보면 새로운 sang12_tomcat이란 이미지가 생성된 것을 확인 할 수 있습니다. (dockerfile을 이용하여 새로운 image를 생성 할 수도 있음!)

그리고 아까 올려뒀던 tomcat 컨테이너를 재시작 해줍니다.

#container 재시작
$ docker restart blog_tmcoat
다시 http://localhost:8080으로 접속하면 배포했던 서비스가 올라간 것을 확인 할 수 있습니다.

지금까지 기초적인 방법으로 tomcat에 war파일을 배포해봤습니다. 하지만 배포할때마다 해당 과정을 반복하는 것은 매우 불편할 것 입니다. 그래서 dockerfile이나 docker-compose git jenkins등을 이용하여 배포를 더욱 쉽게하고 자동화 할 수 있습니다 ^^. 

#docker tomcat war #docker tomcat war 배포하기 #docker war배포 #docker war deploy #docker war #docker tomcat

리눅스 환경변수 설정 안됨 DEV / SERVER

2019-08-05 posted by sang12


환경 변수에 관한 많은 글들이 있어서 포스팅을 안할려고했는데..  삽질한 경험이 있어서 이렇게 포스팅합니다.

일단 환경 변수를 설정하는 방법은 아래와 같습니다. 

$ /etc/profile 경로에 export로 설정해주는 방법입니다.
$ vi /etc/profile

#TEST ENV 
export TEST_ENV=1234

echo $TEST_ENV

참 위와 같이 간단한데.... 하지만 저는 위 과정을 마치고 echo로 환경변수를 출력 했을 때 아무 값이 안나왔습니다. 그래서 환경변수가 설정이 잘 안됐나 보다라고 판단하고 헤매다가 혹시 로그인 할때 해당 환경 변수를 가져오나? 라는 생각이 들어 로그아웃 하고 진행 했더니 정상적으로 값을 가져오는 걸 볼 수 있었습니다.. 저처럼 헤매지 마시고 재로그인 해보세요 ^^. (참고로 사용한 리눅스는 CentOs7입니다)

#리눅스 환경 변수 설정 안될 때 #리눅스 환경변수 설정 #리눅스 환경변수 #리눅스 환경변수 설정 안됨