도커사용에 처음 작업할때 사용되어지는 커맨드들을 Tomcat 이미지 기준으로 정리해 봅니다.



Docker 서비스 시작

$> service docker start

$> chkconfig docker on  // --> start on boot



Tomcat Docker이미지 받기

$> docker pull tomcat:latest



설치된 Docker이미지 확인

$> docker images



설치된 이미지 삭제

$> docker rmi tomcat:latest



컨테이너 생성

$> docker run -it  -p 8888:8080 --name tomcat8888 tomcat:latest /bin/bash

$> docker run -it  -p 8889:8080 --name tomcat8889 tomcat:latest /bin/bash


컨테이너 생성시 Host컴퓨터와 컨테이너간에 데이터를 공유하고자 하는경우 -v Option을 추가한다.

다음은 컨테이너의 /usr/local/tomcat/logs 디렉토리를 호스트의 /root/dockerfiles/tomcat/logs로 연결한다.

$> docker run -it  -p 8888:8080 -v /root/dockerfiles/tomcat/logs:/usr/local/tomcat/logs --name tomcat8888 tomcat:latest /bin/bash


한개이상 디렉토리를 공유하고자하는 경우.

$> docker run -it  -p 8888:8080 \n

    -v /root/dockerfiles/tomcat/logs:/usr/local/tomcat/logs \n

    -v /root/dockerfiles/tomcat/webapps:/usr/local/tomcat/webapps \n

    --name tomcat8888 tomcat:latest /bin/bash

** -v 옵션을 통해 공유하는 디렉토리는 컨테이너 쪽의 디렉리는 초기화 되면서 안에있는 내용이 모두 삭제된다.



생성된 Docker 컨테이너 확인

$> docker ps

$> docker ps -a



컨테이너 삭제

$> docker rm tomcat8889



다음부터는 start 명령으로 Docker를 실행 및 중지

$> docker start tomcat8888

$> docker stop tomcat8888



Docker컨테이너 안으로 들어가기

$> docker attach tomcat8888



외부 명령으로 컨테이너안의 명령수행

$> docker exec tomcat8888 /usr/local/tomcat/bin/startup.sh



컨테이너끼리 통신을 위해서 네트워크 생성하기

$> docker network create network1

$> docker network ls



동일한 네트웍에서 컨테이너 생성하기

다음은 두개의 Tomcat Server는 Mysql컨테이너와 동일한 네트웍에 존재하기 때문에 서로 통신이 가능해진다.

$> docker run -it  -p 8888:8080 --name tomcat8888 --network network1 tomcat:latest /bin/bash

$> docker run -it  -p 8889:8080 --name tomcat8889 --network network1 tomcat:latest /bin/bash

$> docker run -it  -p 3306:3306 --name steven-mysql --network network1 -e MYSQL_ROOT_PASSWORD=1234 -d mysql:latest


위에서 생성한 MySql에 접속해봅니다. 192.168.56.107은 호스트 서버의 IP다. (컨테이너 생성시 3306 --> 3306 했기때문에 가능)

[root@docker ~]# mysql -h 192.168.56.107 -u root -p

Enter password:


Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MySQL connection id is 3

Server version: 5.7.19 MySQL Community Server (GPL)


Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


MySQL [(none)]>



컨테이너 에서 컨테이너 정지없이 빠져나오기

$> Ctrl+p, Ctrl+q






Posted by Steven J.S Min
,