1. 아래와 같이 tomcat 8에 대한 image 를 내려받습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | $ docker pull tomcat:8 8: Pulling from library/tomcat 3e12a4ecg13c: Pull complete 75d44b20a841: Pull complete a136217a1fa4: Pull complete 8bceb9f57693: Pull complete 268410abd9cf: Pull complete c4e2fb2d87cf: Pull complete 09123f714a7b: Pull complete c21de950ce52: Pull complete 9f1d6027a2e7: Pull complete b712e8d9a90e: Pull complete 8c4ab15d0add: Pull complete 5953d45ec94f: Pull complete 0ba82678ed3b: Pull complete Digest: sha256:0f12321fd37dcbe2db5f26d16861240c283c774089dd45c9d6008cacb8e8539a Status: Downloaded newer image for tomcat:8 | cs |
2. docker image 정보를 확인합니다.
1 2 3 4 5 | $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysql 5.7 5fac15ab2c34 2 days ago 408MB tomcat 8 1269f3761db4 3 weeks ago 560MB | cs |
3. 아래와 같이 tomcat 을 실행합니다.
1 2 3 | $ docker run -d -i -t --name="tomcat8-board" -p 8081:8080 tomcat:8 4cadb567d312a42ba96e04500da758be1231a12359ec67d85082e72b051ea04f | cs |
* -d: 데몬으로 실행합니다.
* -p 8081:8080: 이미지를 8080으로 실행하지만, 호스트에서 접근 시에 8081로 접근한다는 의미입니다.
* -i: 표준 입력을 활성화하여 컨테이너와 연결되어 있지 않더라도 표준 입력을 유지합니다.
4. docker 프로세스 확인
1 2 3 4 5 | $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4cadb567d312 tomcat:8 "catalina.sh run" 11 minutes ago Up 11 minutes 0.0.0.0:8081->8080/tcp tomcat8-board 71a53c718465 mysql:5.7 "docker-entrypoint..." About an hour ago Up About an hour 0.0.0.0:3316->3306/tcp mysql | cs |
* 위의 정보로 미루어 보아 tomcat:8 은 11분 전에 올라온 것을 확인할 수 있습니다.
5. tomcat container 에 적재할 간단한 war 파일을 준비합니다.
1 2 3 | $ ll |grep board -rw------- 1 user user 22929236 Nov 7 15:02 board.war | cs |
6. 홈 디렉터리 이하에 board.war 파일을 docker tomcat container 에 복사를 합니다.
1 2 | $ docker cp ~/board.war tomcat8-board:/usr/local/tomcat/webapps/ | cs |
* ~/board.war : 로컬 호스트에 홈 디렉터리 이하 board.war 파일입니다.
* tomcat8-board : tomcat:8 컨테이너의 이름입니다.
* /usr/local/tmcat/webapps/ : tomcat8 컨테이너의 웹 애플리케이션이 적재될 경로입니다.
7. tomcat container 셸에 연결을 합니다.
1 2 | $ docker exec -it 4ca /bin/bash | cs |
* 4ca 는 4번의 프로세스 확인에서 "CONTAINER ID"에 해당합니다.
* -it 옵션은 표준 입력을 활성화 및 유지하며 셸을 사용한다는 의미입니다.
8. tomcat container 내부에 복사 여부 확인
1 2 3 | # dir /usr/local/tomcat/webapps/ ROOT board board.war docs examples host-manager manager | cs |
9. tomcat container 의 Web UI
10. 웹 브라우저를 통해 접속을 합니다.
* ex) 192.168.10.10:8081/board/board/
'Tools > Docker' 카테고리의 다른 글
docker mysql 설치 (0) | 2017.11.07 |
---|---|
docker container 재생 및 실행 (0) | 2017.11.02 |
docker 실행 및 옵션 (0) | 2017.11.02 |
docker 접속 (0) | 2017.11.02 |
Docker Toolbox 설치 (0) | 2017.10.31 |