docker tomcat container에 war파일 배포하기
🐳 docker images
# 이미지 검색
$ docker search [이미지이름]
-- $ docker search mysql
# 이미지 다운
$ docker pull [이미지이름]:[버전]
-- $ docker pull mysql:latest (latest 붙히면 최신버전으로 다운)
# 이미지 삭제
$ docker rmi [이미지 id]
$ docker rmi -f [이미지 id]
컨테이너를 삭제하기 전에 이미지를 삭제 할때, -f 옵션을 붙어면 컨테이너도 강제 삭제가 가능하다.
# 이미지 목록보기
$ docker images
🐳 docker Container
# 컨테이너 목록보기
$ docker ps
$ docker ps -a
-a 옵션 : 컨테이너의 모든 목록을 볼 수 있음.
# 컨테이너 시작
$ docker start [컨테이너 id 또는 name]
# 컨테이너 재시작
$ docker restart [컨테이너 id 또는 name]
# 컨테이너 정지
$ docker stop [컨테이너 id 또는 name]
Bash Shell에서 exit 또는 Ctrl + D를 입력하면 컨테이너가 정지된다.
Ctrl + P, Ctrl + Q를 차례대로 입력하여 컨테이너를 정지하지 않고, 컨테이너에서 빠져나온다.
# 컨테이너 삭제
$ docker rm [컨테이너 id 또는 name]
$ docker rm docker ps -a -q
: 모든 컨테이너 삭제
# 컨테이너 실행
$ docker run [options] image[:TAG|@DIGEST] [COMMAND] [ARG...]
-- $ docker run -d -p 3306:3306 -v /mnt/sdb1/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=Pgh561511* --name mysqldb mysql
제목1 | 제목2 |
---|---|
-d | detached mode 흔히 말하는 백그라운드 모드 |
-p | 호스트와 컨테이너의 포트를 연결 (포워딩) |
-v | 호스트와 컨테이너의 디렉토리를 연결 (마운트) |
-e | 컨테이너 내에서 사용할 환경변수 설정 |
-u | 실행할 사용자 지정 |
--name | 컨테이너 이름 설정 |
--it | -i와 -t를 동시에 사용한 것으로 터미널 입력을 위한 옵션 (컨테이너의 표준 입력과 로컬 컴퓨터의 키보드 입력을 연결) |
--rm | 프로세스 종료시 컨테이너 자동 제거 |
--link | 컨테이너 연결 [컨테이너 명:별칭] |
# 컨테이너 내부 접속
$ docker exec -i -t [컨테이너 이름] /bin/bash
-- $ docker exec -i -t mysqldb bash
-- $ docker exec -it tomcat_1 /bin/bash
🐳 Doker Tomcat Container에 war를 배포하기
메이븐(maven) 빌드를 이용하여 웹 프로젝트를 war로 아카이빙 하자. 톰캣은 ROOT.war로 아카이빙 하여 webapp에 넣게 되면 context path가 '/'이 된다. 그러면 'http://localhost:10000/' 로 접속이 가능해 진다. 만약 sample.war로 아카이빙하면 'http://localhost:10000/sample'로 접속해야 한다.
컨테이너 내부의 tomcat 구조를 살펴보자. /usr/local/tomat 이 root 디렉토리이다. 루트 디렉토리의 webapp 폴더에 maven 빌드결과 생성된 ROOT.war를 복사하면 된다.
보통 원격지 서버에 파일을 보내기 위해서는 FTP 프로토콜을 이용한다. Docker의 경우는 Docker에서 제공하는 기능을 사용하면 간단하게 파일을 컨테이너에 복사할 수 있다. 명령은 docker cp를 사용하면 된다.
docker cp ./ROOT.war tomcat_1:/usr/local/tomcat/webapps/
Author And Source
이 문제에 관하여(docker tomcat container에 war파일 배포하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gahae37/docker-명령어저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)