Docker

Docker in IntelliJ

원2 2024. 7. 3. 18:10
728x90
반응형

도커는 알아서 설치 ㅇㅇ

 

도커 구성하기

난 우분투에 설치할 거라서 우분투 윈도우는 윈도우 설정ㄱ

연결이 성공하면 연결 성공이라고 뜸

 

실행

 

대충 이런식으로 나오는데

 

이미지 풀

인텔리제이는 도커허브를 따로 구성할 필요 없이 사용 가능한 이미지목록을 바로 불러 올 수 있음

이미지를 클릭하면 위의 그림처럼 이미지를 가져올 수 있다ㅇㅇ

 

예를 들어 mysql 데이터베이스를 설정을 한다고 칠 때 mysql 을 선택하고 컨트롤+엔터를 하면 이미지를 가져옴

 

 

이미지를 클릭하면 이미지 아이디, 태그, 생성날짜 등등을 볼 수 있다, Inspection 은 오른쪽 점 3개를 클릭하고 검사를 누르면 더 자세한 정보를 볼 수 있음

 

컨테이너 생성은 이미지를 우클릭하고 컨테이너 생성을 누른다

 

이름을 수정할 수 있고 옵션을 따로 원한다면 옵션 수정을 통해 옵션을 편집 할 수 있다

기본적으로 인텔리제이는 컨테이너 이름만 구성할 수 있게 제공됨

 

mysql 컨테이너의 경우 데이터베이스의 루트 비밀번호를 전달해야함

- 루트 비밀번호 환경 변수 지정(Environment variables 클릭)

- 컨테이너가 시작될 때 데이터베이스를 생성할 MYSQL_DATABASE 환경 변수 지정

 

컨테이너 외부의 mysql 데이터베이스에 연결할 수 있도록 일부 포트를 바인딩

 

그리고 실행

 

그러면 컨테이너가 생성됨

 

다양한 정보들을 볼 수 있는데 Files 가 없다면 로그나 대쉬보드 를 클릭 후 점 3개 클릭 후 검사를 누르면 나온다

 

Exec 옵션을 사용하여 명령실행하기

ex) 테이블 생성

우클릭 후 create and run

 

사용자와 비밀번호를 전달하는 mysql 명령입력

 

아래 처럼 명령문입력가능~

 

 

자신만의 이미지 만들기

1. 도커파일 만들기 - 자신의 프로젝트를 선택 후 new -> file -> Dockerfile 로 이름 설정

파일 만듦

 

기본 이미지 지정을 위해 FROM 사용

COPY 명령어를 쓰려면 프로젝트 파일을 이미지에 복사해야함(내 호스트 컴퓨터에서 내 클래스 파일이 존재하는 디렉터리를 지정해야함)

 

나의 경우 out에 있음 

만약 out 디렉터리가 존재 하지 않는다면 프로그램을 실행 시키거나 빌드를 다시 해야함!

간단한 앱에 대한 tmp 디렉터리 지정

 

 

도커 실행

모든 사용자 정의 실행 옵션을 지정할 수 있도록 새 실행 구성을 생성

 

 

두개의 섹션

이미지 빌드용 (녹색 필드)

- 이미지의 이름과 태그를 지정

이미지태그의 이름을 hello-world:1.0으로 지정, 

컨테이너 실행용(주황색 필드)

 

 

빌드옵션이 필요하다면 추가해서 원하는 옵션을 설정

현재는 다른 구성이 필요 없으니 비우고 넘김

 

컨테이너 이름을 설정하고 실행

 

-인텔리제이는 먼저 이미지를 구축하는 새로운 프로세스를 시작

-이미지가 빌드되는 동안 openjdk:11 이미지 가져오기를 포함하여 Dockerfile의 각 명령을 실행한 결과를 보여주는 로그가 표시됨

 

실행 성공 자세한 정보를 보면 openjdk11 버전도 안에 들어가 있는것을 확인 할 수 있음

 

명령줄을 사용하여 docker 명령을 실행하기

-> 간단하게 터미널을 켜면 된다

리눅스에서는 우분투를 키자

또 다른 hello world 컨테이너를 실행하고 이름을 my-container2로 지정 하고 런

성공적으로 실행 됌

긋ㅋ

 

 

DockerHub 저장소에 푸시하기

레지스트리 정보를 지정해야 하므로 Add or New 클릭

 

자신의 도커 허브 아이디 비밀번호를 입력, 도커허브는 가입해야함.

 

네임스페이스도 자동으로 맞춰준다. (도커허브에서 레포지토리 생성해야함)

 

푸쉬 성공!

잘 뜨죠?
허브에도 잘 뜨죠?

이렇게 되면 이제 우리팀의 누구든지 내 이미지를 가져와서 실행 할 수 있다

 

 

Docker Compose 사용법

누구나 쉽게 내 애플리케이션을 시작하고 실행할 수 있도록 docker compose 파일을 만들자

Dockerfile 은 만들었고 애플리케이션 실행에 필요한 모든 서비스를 정의하는 docker-compose 파일을 생성

docker-compose.yml 이라는 새 파일을 생성

서비스 옆의 실행*2 버튼은 docker compose up 과 같은 기능을 한다. 나머지는 개별 실행

Docker Compose 용 새로운 유형의 노드가 생성되고

노드를 확장하면 docker compose 파일에 정의한 두 가지 서비스가 표시

 

각 서비스 아래에는 해당 서비스에 대해 실행중인 컨테이너가 표시되고

컨테이너를 클릭하면 관련 로그 및 정보에 엑세스 가능

 

코드를 수정하고 재 배포시 일어나는 일 2가지

코드를 수정하고 재 배포시 로그에는 최신 상태로 업데이트 되었다고 뜨는데

실제로 확인해 보면 그렇지 않다.

 

1. 애플리케이션의 코드를 수정했지만 전체를 다시 빌드하지 않았다.

2. 기본 배포 구성은 이미지가 아직 없는 경우에만 이미지를 빌드한다.

 

구성 변경하는 방법

구성편집

빌드 - 항상 체크

아티팩트를 선택하면 된다. 나는 아티팩트가 없어서 안뜸

아티팩트 선택 후 재배포 하면 이미지가 새로 만들어 졌다고 로그가 뜨면서 소스코드 변경이 먹힌다.

단순 자바파일등은 메인을 한번 돌리고 재배포하면 코드변경이 먹힌다. 굿ㅋ

 

서비스 창에서 더 많은 작업을 수행

서비스를 선택하고 크기 조정 버튼을 클릭하면 서비스에 대해 실행되는 컨테이너 수를 늘릴 수 있음

스케일 선택
3
짠 컨테이너가 3개 생김

good

728x90
반응형

'Docker' 카테고리의 다른 글

docker 컨테이너 ip 주소 확인  (0) 2024.07.10
도커 컨테이너 실행 명령어  (0) 2024.07.10
docker postgres 스키마 목록 조회  (0) 2024.07.10
Docker 개념  (0) 2024.07.04
Docker 개요  (0) 2024.07.04