Docker 생성해보기

이동언·2024년 10월 24일

new world

목록 보기
55/62
post-thumbnail

1. Docker 적용방법

  1. 인텔리제이 lombok, spring web넣어서 생성

  1. dockerfile을 project안에 넣기
    <터미널에서 인텔리제이 jar파일 생성 하기 ./gradlew bootJar>
    <터미널에서 인텔리제이 gradle 클린 실행하기 ./gradlew clean>


3. 인텔리제이 터미널에서 도커 빌드 docker build -t eoneon/d1_container .


4. 빌드한 이후에 images에 생성된것을 확인할수있다.

< cmd에다가 해당 명령어를 사용하면 5번에서 자동으로 이름이 만들어지는것 대신 생성 할 수 있다 docker run --name d1 -d eoneon/d1_container:latest>

  1. 생성된image run 이후 container 생성확인

  1. cmd에다가 docker logs -f --tail 100 d1
    -> 해당 d1 docker에 대한 로그를 100줄을 볼수있다.

  1. controller 패키지 내부에 클래스로 생성하기
  1. jarfile 만들고, docker build -t eoneon/d1_container . 통해서 build하기

  2. docker push eoneon/d1_container

  3. docker hub에 로그인해보면 repository에 만들어진것을 확인할수있음.

  1. cmd에 docker pull eoneon/d1_container 하여 상대방이 나의 도커를 가져갈수있음.


12. 도커의 이미지에 pull 을 확인가능함.

  1. docker run --name myserver -p 8080:8080 -d eoneon/d1_container

<-d를 사용하면 현재 cmd에서 실행안해도 백그라운드에서 실행이 가능함>

  1. 컨테이너에 생성된것을 확인가능함.

<순서는 pull 해서 image생성한 이후에 run으로 경로 설정하여 컨테이너 생성>

  1. 하나의 서버말고 여러명의 서버를 실행한다.


2. 도커를 기반으로 db생성하기

  1. docker run --name maria1024 -p 3316:3306 -e MARIADB_ROOT_PASSWORD=12345678 -e MARIADB_DATABASE=bootdb2 -e MARIADB_USER=bootdb2user -e MARIADB_PASSWORD=bootdb2user mariadb

  1. 컨테이너에 db생성확인

  1. testconnection
    👉 나의 로컬환경에서는 db가 적용됨.

  1. application 생성후 내부에 만들었던 db형태대로 yml을 수정해주고, 서버 실행해서 db가 오류가있는지 확인을해보자. (db가 오류있으면 서버실행이 안될거임)

  1. controlle 수정


6. url로 들어가보면 확인이가능하다. 이는 docker에 있는 db를 이용하여 작업이 가능하다 라는 의미.

3. 동일 network에서 실행


docker network create dev_network

network만들기

docker run --name maria1024 -p 3316:3306 --network dev_network -e MARIADB_ROOT_PASSWORD=12345678 -e MARIADB_DATABASE=bootdb2 -e MARIADB_USER=bootdb2user -e MARIADB_PASSWORD=bootdb2user mariadb

docker run --name eoneon_d1 -p 8080:8080 --network dev_network -e spring.datasource.url=jdbc:mariadb://maria1024:3316/bootdb2 eoneon/d1_container:latest

👉 yml내부의 url을 복사해서 가져오고 local대신 생성한 db이름을 사용한다.


0개의 댓글