도커를 쓸 줄 몰랐는데, 한번 사용하기 시작하니까 배우기도 쉽고 이렇게 쉽고 빠르게 쓸 수가 있나 싶네요? 오늘은 도커 데스크탑을 설치하고 사용하는 방법을 PostgresQL DB를 설치하는 예제를 통해 알아보도록 하겠습니다.
도커 허브
제일 먼저 해야 할 일은, 도커 허브에 가입하고 도커 데스크탑을 다운받는 일입니다. 아래 링크와 같습니다.
사이트에 접속하면 제일 상단에 다운로드 받는 링크가 있습니다. 맥OS에서도 윈도우에서도 모두 사용 가능하지만, 개인 사용자 이외에는 더 이상은 무료로 사용할 수 없으니 그 점은 참고하세요. 도커 데스크탑은 유료긴 하지만, 도커는 여전히 무료입니다. 도커 데스크탑은 단지 도커를 좀 더 편하게 쓸 수 있게 해주는 것이므로, 터미널 환경에서 도커를 사용해도 괜찮습니다.
오늘은 도커 데스크탑과 터미널 환경으로 둘 다 진행해 보겠습니다. 맥OS 환경에서 진행합니다.
도커 데스트탑 설치 및 실행
다운받았으면 설치하고 실행해 봅니다. 그리고 가입했던 계정으로 로그인을 먼저 진행해 줍니다. 그래야 도커 허브에 올라가 있는 각종 이미지들을 편하게 사용할 수 있습니다.
아직 아무것도 받지 않은 상태이기 때문에 아무것도 없는 화면입니다. 이제 이미지를 받고, 이걸로 컨테이너를 만들어서 실행시켜 볼 겁니다. 이 글에서는 터미널 환경에서도 잘 되는지 테스트를 해 볼 생각이므로 터미널에서 docker
명령어도 같이 실행해 줍니다.
도커 명령어를 실행했을 때 위 그림과 같이 여러가지 옵션이 뜨면 잘 설치된 겁니다. 이제 다음으로 넘어가 볼게요.
PostgresQL 이미지 다운받기
오늘은 PostgresQL 을 설치하는 예제로 진행할 생각이라고 했으니 이에 해당하는 이미지를 다운받겠습니다. 도커 데스크탑에서 PostgresQL을 검색합니다. 아래 그림과 같이 docker hub 에 있는 이미지가 뜨며, "Tag" 에서 버전을 검색할 수 있습니다. 원하는 버전을 선택한 후 "Pull" 버튼을 눌러 다운로드 합니다.
동일한 동작을 터미널에서도 진행할 수 있습니다. 아래와 같이 작성합니다.
docker pull postgres:bullseye
작성하고 나면 다운로드가 되는 것을 알 수 있습니다. 도커 데스크탑에서 했던 것이랑 완전히 동일한 동작인데, 터미널로 하느냐 GUI로 하느냐의 차이 뿐입니다. 터미널로 설치를 해도 마찬가지로 docker desktop 의 "Images" 탭에서 pull 한 이미지를 확인하실 수 있습니다.
PostgresQL 설치하기
이미지를 다운받았으면 설치를 해보겠습니다. 도커에서는 이걸 컨테이너를 만든다고 합니다. 컨테이너를 한번 만들고 나면, 이를 껐다 켰다 하면서 자유롭게 사용할 수 있습니다.
도커에서는 컨테이너를 만들 때 run 명령을 사용합니다. 또는 도커 데스크탑에서 Images 탭으로 가서 아래 그림에 보이는 플레이 버튼을 눌러도 동일하게 동작합니다. 이제 다운받은 postgres 이미지를 컨테이너로 만들어 보겠습니다.
postgresQL은 DB이고, 그래서 몇가지 사항이 필요합니다. 아래와 같습니다.
- 도커 컨테이너의 이름을 지정해 줘야 합니다.
- postgresql 의 기본 포트는 5432로 동작합니다. 그래서 컨테이너의 포트와 내가 지금 컨테이너를 실행하는 컴퓨터 (host) 의 포트를 매핑시켜줘야 실제로 테스트 등 사용이 가능합니다.
- postgresql 은 최초로 만들 때 비밀번호가 필요합니다. 이를 설정해 줘야 합니다.
이 세가지 사항을 모두 담은 도커 명령어는 아래와 같습니다. 터미널에서 아래와 같이 실행합니다.
docker run --name mypostgres -e POSTGRES_PASSWORD='abracadabra' -p 5432:5432 -d postgres:bullseye
먼저 --name
옵션으로 컨테이너의 이름을 지정해주고, -e
옵션으로 환경변수를 설정해 줍니다. 그리고 -p
옵션으로 포트를 매핑해주고, -d
옵션으로 백그라운드로 돌아가도록 해 준다음 마지막에 이미지 이름 (postgres:bullseye) 을 지정해주면 됩니다.
동일한 동작을 도커 데스크탑에서 해볼까요? 위 그림에서 말한 것과 같이 Run 버튼을 눌러 주고, 이어서 뜨는 팝업창에서 Optional Settings 를 열어준 다음 아래와 같이 작성해 봅니다.
터미널에서 작성한 것과 완전히 동일한 내용들이 보이죠? 다시 한번 말씀드리지만 도커 데스크탑은 단지 도커를 조금 더 편하게 사용하기 위한 것이지, 없으면 사용을 못하는 것은 아닙니다. 오히려 그냥 도커 데스크탑 없이 명령어로 쓰는 게 더 편하다고 하는 분들도 많습니다.
어쨌든, 이제 postgresql을 성공적으로 도커에 올렸고, 접속해 보는 일만 남았습니다.
DB에 접속하기
CLI를 통해 접근할 수도 있겠지만, 진짜 DB에 접근해서 쓰는 것처럼 해 봅시다. DBeaver 를 사용해 보겠습니다. DBeaver 를 켜서 새로운 DB 만들기를 선택하고 postgresql을 선택한 다음, 아래와 같이 지정해 봅니다.
도커로 postgresql을 올렸을 때 포트만 연결을 했습니다. 근데 어디에 연결했냐면 내 컴퓨터에 연결했어요. 그래서 host 가 그냥 localhost 가 됩니다. 이래서 테스트하기 편하다고 하는 거 같아요. 그냥 대충 슥 클릭 몇번, 아니면 명령어 몇줄로 설치하고 나서 바로바로 확인해 볼수 있으니까요.
위와 같이 설정하고 나면 postgresQL에 성공적으로 연결됩니다. 이후에 DBeaver 에서 DB를 만들거나, 또는 뭐 비밀번호도 사실 바꿀 수 있구요, 등등의 작업을 진행하시면 될 거 같습니다.
댓글