[Intellj Ultimate] Docker plugin 사용해보기

식빵·2023년 5월 7일
1

intellij

목록 보기
3/18

주의사항:
저는 현재 Atom Material Icons 플러그인을 사용하여 약간 화면이 다르게 보일 수 있습니다. 하지만 화면이 다르더라도 맥랙은 비슷하니 잘 클릭하여 세팅하시기 바랍니다.


개발환경

  • OS : Window 10 Home Edition
  • IDE : Intellij Ulitmate v2023.1

plugin 설치

참고: intellij ultimate 은 기본적으로 Docker 플러그인이 설치되어 있습니다.




Docker 설정 생성

  • Settings 창을 열어서 좌측 메뉴에서 Docker(①) 를 찾아서 클릭합니다.
  • 우측 화면에 Docker 관련 내용이 나옵니다. 상단의 + 버튼(②)을 클릭합니다.
  • 이후에 Intellij 는 현재 컴퓨터에서 실행중인 Docker 데몬 이 있는지 확인합니다.
  • 확인이 되면 화면 하단에 Connection successful(③) 이라는 메세지가 보입니다.
  • 이후에 OK 버튼(④)을 클릭합니다.




Docker 연결하기

Services 화면이 하단에 표출되면서 앞서 생성한 Docker 설정이 눈에 보입니다.
Services 화면 좌측에 있는 Connect 버튼을 클릭합니다.

만약 Services 창이 안 보이면 ALT + 8 을 입력하세요!



Image Pull

  1. Images 아이콘을 한번 클릭합니다.
  2. 화면 옆의 검색란에서 원하는 이미지 명칭을 검색합니다.
  3. 결정 후에는 Pull 버튼을 클릭합니다.

이후에 Pull 이 실행되는 것을 확인할 수 있습니다.


그리고 Images 아이콘을 펼쳐보면 아래처럼 제가 Pull 한 이미지 정보가 보입니다.



Container 생성 및 실행

  • pull 한 docker 이미지에 마우스 오른쪽 클릭
  • Create Container 버튼을 클릭합니다.

이후 위 그림과 같은 팝업이 나옵니다. 여기서 원하는 Container 명칭과 추가적인 옵션을 줄 수 있습니다. 옵션들은 Modify options 파란색 문구를 클릭하면 추가할 수 있습니다.
저는 port환경변수를 세팅했습니다.
마지막으로 OK 를 누르면 Container 가 생성되고 자동으로 실행됩니다.


  • 위 그림은 Container 생성 성공 후, 자동으로 실행될 때 나오는 화면입니다.
  • 그런데 아주 잠깐이지만 이 과정에서 Temporary Node 가 생성됩니다. (아래 그림참고)
  • 만약 Container 생성에 성공하면 저 Node 는 자동으로 지워집니다.
  • 반대로 실패하면 Node 가 그대로 남습니다. 이렇게 남기는 이유는 두 가지입니다.
    • 실패한 원인(= 로그)을 유지
    • Node 에 마우스 오른쪽을 클릭하여 앞서 세팅한 옵션 수정하여 Container 생성을 재시도할 수 있도록 하기 위함입니다.
  • Temporary Node 는 그냥 설정 정보이기 때문에 언제든 사용자가 지울 수 있습니다.
    • 가끔 저 Temporary Node 를 수동으로 Delete 했음에도 사라지지 않을 때가 있습니다.
    • 그럴 때는 IntelliJ 에서 DockerDisconnect 를 했다가, 다시 Connect 를 하시기 바랍니다.

참고 : 기존에 CLI 에서 옵션을 주는 방식과 동일하게 세팅하고 싶을 때

위에서 알려드린 Option 세팅 방법은 기존에 CLI 에서 docker build 옵션을
-p 10010:5432 처럼 주는 방식과 많이 다르다보니 거부감이 생길 수 있습니다.

그런 분들을 위해서 Intellij 에서는 Modfiy options 중에서 Run options 를 제공합니다.

Run options 버튼을 클릭하면 설정창 하단에 Run Options 라는 입력란이 생깁니다.
여기에 기존에 CLI 에서 옵션을 설정하는 방식 그대로 할 수 있습니다. (아래 그림 참고)



Container 지원 기능(탭)

  1. 먼저 실행된 컨테이너를 클릭합니다.
  2. 이후에 상단에 여러가지 기능과 관련된 탭이 보이게 됩니다.
    자신의 필요에 맞게 해당 기능들을 잘 사용하시면 됩니다.
  3. 만약에 위 그림처럼 원하는 기능의 탭이 안 보이면 Dashboard 탭을 한번 누르고,
    옆에 점이 3개가 찍힌 아이콘을 클릭하여 원하는 기능 탭을 활성화 할 수 있습니다.

저 같은 경우에는 Terminal 을 자주 사용하는데요,
해당 탭에 들어가면 Docker 로 띄운 Container 의 내부에 들어가서 이것저것 건드려 볼 수 있습니다.

추후에 Docker File, Docker Compose 기능과 관련해서도 이 글의 하단에 이어서 작성하겠습니다. 일단 오늘은 여기에서 글을 마치겠습니다.



DockerFile 빌드 기능

DockerFile 작성

테스트용 Dockerfile 을 하나 작성합니다.
저는 postgres ImageLocale=ko_KR 로 세팅하는 내용을 작성해봤습니다.

FROM postgres:latest
RUN localedef -i ko_KR -c -f UTF-8 -A /usr/share/locale/locale.alias ko_KR.UTF-8
ENV LANG ko_KR.utf8

Docker Hub - Postgres 🡪 Locale customization 참고


Docker Build

먼저 자신이 생성한 DockerFile 을 열려있는 intellij 에 Drag & Drop 합니다.


위처럼 아이콘 및 버튼을 순서대로 클릭합니다.


1. Image tag 에서 생성될 이미지의 명칭을 지정합니다.
2. Image 생성 후 곧바로 Container 생성 및 실행이 되는데, 그때의 Container 명칭을 지정합니다.
3. Modify options ⮞ Run Options 을 클릭하고, 필요한 Docker Run Option 을 설정합니다.
4. Run 버튼을 클릭합니다.
이러면 Docker Image 를 생성함과 동시에 Docker Container 를 생성 및 실행합니다.


참고 : Docker Container 는 생성하지 않고 Build 만 하려면?
아래처럼 Modify options ⮞ Run built image 를 클릭하여 비활성화하면 됩니다.


이후에 설정창은 아래처럼 보이고, 이전과 마찬가지로 팝업창 하단의 `Run` 버튼을 클릭하면 `Build` 만 되는 것을 확인할 수 있습니다.



찌꺼기 데이터(?) 없애기

저만 그런지 모르겠지만, IntelliJ Docker build 기능을 수행하고 나면 이상하게 무의미한 Images 가 남습니다. (아래 그림에서는 sha256:40e90ddf3602 라는 명칭의 Image)

일단 이런 무의미한 데이터를 없애기 위해서는 Images 아이콘에 마우스를 대고, 오른쪽 클릭, Clean up 버튼을 클릭하면 됩니다. 사용되지 않는 이미지이니 마음 편히 지워도 됩니다.




참고

profile
백엔드를 계속 배우고 있는 개발자입니다 😊

2개의 댓글

comment-user-thumbnail
2024년 3월 26일

도움이 되는 글이네요! 감사합니다~

1개의 답글