Computer Science/MSA

081121 MSA_SpringCloud

suleesulee 2021. 8. 11. 18:52

현재까지 개발한 것들을 Docker에 올려서 Sevice해보자

docker 명령어

ex> mysql

docker run -d -p 3306:3306 --name mysql mysql:${version}

 

docker run은 create + start 합쳐놓은것

-d 옵션 : 백그라운드에 실행

-p 옵션 : 포트설정 

-p 3306:3306 앞부분포트는 Host에서 접근하고자하는 포트

                  뒷부분포트는 컨테이너에서 응답하는 포트

 

--name 옵션 : container의 이름 설정, 설정안하면 임의의 이름 들어감

 

docker exec -it mysql bash

실행중인 컨테이너에 명령을 실행하거나 shell로 진입하려 사용

 

 

Docker Network 사용

docker는 3개의 Network방식 제공

Bridge, host, none

기본적으로 아무것도 안하면 bridge

 

docker network create --gateway 0.0.0.0 --subnet 0.0.0.0/16 {bridge_name}

gateway, subnet mask도 지정가능함

 

docker network inspect {bridge_name}

해당 네트워크에 연결된 정보를 볼수있음

 

같은 gateway안에서 Dockername 가지고 통신하도록 구성

 

Dockerfile

Dockerfile을 프로젝트의 Target폴더와 같은 뎁스에서 생성

Dockerfile 작성

-->작성법 추후기재

 

mvn clean compile package 로 해당 서비스의 jar파일생성

 

docker build --tag {userid}/{servicename}:{version}

 

docker build push 하면 내 계정에 올라감..

Docker강의가 아니어서 일단 그냥 적어둠