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

+ Recent posts