Docker로 MySQL과 Tomcat 개발 환경 만들기
Docker를 오늘 처음 대강 확인해 본 내용을 정리해 보았습니다.
개발 환경
- MacOS Mojave 10.14.6
Get started Docker
brew로 인스톨
brew install Docker
docker-for-mac app install
Get started with Docker Desktop for Mac
아래 주소에서 Docker Desktop for Mac을 다운받아서 인스톨 한다. (회원가입/로긴 필수)
Get started with Docker Desktop for Mac
예외 대응
Docker 코멘드를 날렸는데 아래와 같은 메세지가 뜬다면 Docker 앱이 실행중인지 확인한다. Docker앱의 demon이 실행중이여야만 Docker 기능이 정상적으로 동작한다.
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
MYQSL
참고 사이트
mysql이미지 내려받기(버젼 미지정 시에는 최신버젼을 내려받음)
docker pull mysql
pie-mysql(root패스워드=root)의 컨테이너 생성
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name pie-mysql mysql
pie-mysql 컨테이너 접속
docker exec -i -t pie-mysql bash
존재하는 컨테이너를 확인 (기동 정지된 컨테이너를 포함함)
docker ps -a
기동중인 컨테이너를 확인 (기동 정지된 컨테이너는 포함하지 않음)
docker ps
불필요한 컨테이너 삭제
docker rm {컨테이너 이름이나 컨테이너 ID}
이미지 삭제
docker rmi {이미지 이름}:{태그(필요시)}
이미지 검색
docker search {이미지 이름}
이미지 확인
docker images
컨테이너 기동 (컨테이너 신규생성시에는 run! 컨테이너 기동은 start!)
docker start pie-mysql
컨테이너 정지
docker stop pie-mysql
TOMCAT
tomcat의 실행
docker run -it --rm tomcat
(버젼 지정시 : docker run -it --rm tomcat:8.0
)
포트를 8888로 지정시(나는 이걸로 설정함)
docker run -it --rm -p 8888:8080 tomcat (이름 지정이 없어서 1회성 실행만 함)
OR
docker run -d -i -t --name="my-tomcat-container" -p 8888:8080 tomcat:8
tomcat 컨테이너 생성
docker container create --publish 8888:8080 --name my-tomcat-container tomcat
my-tomcat-container 컨테이너 실행
docker start my-tomcat-container
war배포
docker cp myapp.war my-tomcat-container:/usr/local/tomcat/webapps/app.war