반응형

환경: windows11, 아래 설치 진행

2024.02.10 - [서버 세팅 & tool/docker] - [windows] docker; 컨테이너 가상화

 

[windows] docker; 컨테이너 가상화

virtualization 물리적인 컴퓨터 리소스를 다른 시스템이나 애플리케이션에서 사용할 수 있도록 제공 플랫폼 가상화 리소스 가상화 하이퍼바이저(hypervisor) Virtual machine manager(VMM) 다수의 운영체제를

bangpurin.tistory.com

도커 기본 명령어

docker run -d -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=true --name mysql mysql:5.7
//도커로 mysql:5.7을 백그라운드로 실행하는데 
//포트 포워딩으로 호스트의 3306이랑 도커의 3306이랑 연결
//mysql5.7실행 시 필요한 설정을 -e옵션으로 주고
//이름을 mysql로 설정(아니면 랜덤)

실행 확인

docker ps -a

백그라운드라 로그가 안뜨는데, 지나간 로그를 보려면

docker logs 이름/컨테이너id

잘 뜬건 확인했고 terminal로 실행하려면

 docker exec -it mysql /bin/bash

그러면 터미널로 붙어서 쓰는것과 동일한 효과

여기서  mysql -uroot -p -h127.0.0.1 써서 접속해서 디비 사용하면 됨

삭제 시 중지하고 삭제 해야 

 

서비스를 jar이미지 만들어보기

0. 사용하고자 하는 이미지가 있으면 docker hub에서 확인

1. 아래 경로에 Dockerfile 작성

1-1. Dockerfile 내용물

FROM openjdk:17-ea-slim-buster
VOLUME /tmp
COPY target/user-service-0.0.1-SNAPSHOT.jar user-service.jar
ENTRYPOINT ["java", "-jar", "user-service.jar"]

2. 빌드

1. jar 최신화; Dockerfile 과 동일한 이름으로 jar 생성되었는지 확인 

 mvn clean compile package -DskipTests=true

2. 이미지 올릴 나의 docker hub 계정 확인

3. docker 이미지 만들라는 명령어 실행

맨 마지막에 . 찍어서 현재 폴더임을 나타냄 

 docker build --tag haileyjhbang/user-service:1.0 .

4. repository에 push

docker push haileyjhbang/user-service:1.0

1.0 태그 안주면 latest 를 찾기 때문에 에러가 남 

5. repository 확인 

 

만든 이미지 설치

1. 기존 이미지 삭제(확인 용)

docker rmi 4c828476b26a

2. 이미지 id로 삭제

 docker pull haileyjhbang/user-service:1.0

3. 실행

docker run haileyjhbang/user-service:1.0

728x90
반응형

+ Recent posts