최근 퍼블리셔에서 Linux Application을 깔아주지 못하겠다고 얘기를 해와서
어디서 줏어들은 Docker나 써보자! 하고 생각을 하였다.
Docker Image라는 것을 잘 구성해서, 다른 서버에서도 동일한 Docker Image를 가지고 Container로써 이용이 가능하다고 한다.
(Docker Image를 띄우면 Container가 됨)
GitHub이나 Yum Repository처럼, 누군가 만들어둔 어플리케이션을 아래 url에서 검색하여, pull 명령어 하나만으로 받을 수 있다.
https://registry.hub.docker.com/
※ Docker 설치 과정은 간단해서 생략.
나는 Tomcat 8.0 버전을 설치할 것이므로, 아래와 같이 입력을 한다.
Tomcat8 버전에 대한 Docker Image가 받아졌으므로, 준비해둔 war파일과 함께 daemon 형태로 띄우고, 외부에서 접근 가능하도록 port forwarding 설정까지 명령어 한번으로 해결을 해보자.
1 | $ docker run -d -i -t --name= "tomcat8-test" -p 8081:8080 - v /mypath/test .war: /usr/local/tomcat/webapps/test .war tomcat:8.0
|
docker run --help 명령어를 통해 옵션들에 대해 알아볼 수 있지만, 위에서 사용된 중요한 키워드에 대해 짚고 넘어가도록 하자.
-d : 데몬으로 띄움
-p 8081:8080 : image를 8080으로 띄우는데, host에서는 8081로 접근이 가능하도록 한다. (port forwarding)
-v /mypath/test.war:/usr/local/tomcat/webapps/test.war : -v는 볼륨 관련 명령어로써, host에 있는 파일을 container로 이동할 수가 있다. host와 container는 콜론 (:)으로 구분을 한다. host에 /mypath/test.war 파일을 docker container의 /usr/local/tomcat/webapps/test.war로 이동시킴.
추가로 옮겨야할 파일 (jdbc Driver 등)들은, docker cp 명령어를 이용하면 될 것 같다.
DockerFile을 작성해서 운영하면 더 편하다고 하는데, 이건 좀 더 연구해서 다음 포스팅에 작성하도록 해야겠다.