티스토리 뷰

반응형

이번에 PC를 MacBook으로 구입하게 되어 평소 너무 사용해보고 싶었던 Docker를 설치하게 되었습니다.

사실 이전에 Docker를 Windows PC에 설치하려는 시도를 했었는데... Hyper-v가 뭐가 잘못됐는지 블루스크린 함정에 빠지게 됐습니다.

Docker에 대해서 간략하게 이야기 하자면 Docker는 컨테이너로 설치하고자 하는 것들을 이미지화 하여 사용할 수 있는 프로그램입니다. 이를 통해 PC가 바뀌어도 해당 이미지를 다운로드 받으면 이전에 구성한 환경설정 그대로 사용할 수 있는 장점이 있습니다. 또한, 여러가지 환경으로 테스트할 때 PC를 더럽히지 않고? 도커로 간단하게 설치 및 제거하며 테스트할 수 있는 장점이 있습니다.

설명이 맞는건지 잘 모르겠네요 ㅎㅎ..

 

컨테이너 개념(도커 이미지, 도커 컨테이너)

...더보기

컨테이너 개념

컨테이너라는 단어는 항만 선착장에서 흔히 볼 수 있는 화물 수송에 주로 이용되는 철제 상자(box)입니다. 격리된 공간으로 잘 봉인되어 컨테이너 내 물건들이 외부의 충격이나 환경에 영향을 받지 않고, 개별 컨테이너 단위로 라벨이 붙어 용도와 목적에 맞게 구성할 수 있는 것이 가장 큰 특징 입니다.

 

도커 컨테이너

도커 컨테이너는 도커 이미지를 독립된 공간을 할당하여 실행한 런타임 객체 입니다. 도커 엔진 위에서 기동되며 가상의 IP와 포트, 이름을 가질 수 있습니다 컨테이너 내부로도 접근하여 내부 파일 시스템을 제어할 수 있습니다. 도커 컨테이너는 운영체제의 라이브러리와 애플리케이션을 묶어 하나의 런타임 객체를 만들어 실행합니다. 컨테이너별로 구성 요소를 다르게 만들 수 있고, 프로세스 간 격리된 환경으로 독립적으로 실행됩니다.

 

도커 이미지

도커 이미지는 하나 혹은 여러 개의 이미지 레이어로 구성되어 있고, 도커 엔진에서 사용하는 기본 단위 입니다. 도커 컨테이너를 생성하는 요소로 가상 머신의 이미지 파일과 비슷하다고 이해하면 됩니다. 도커 이미지는 베이스 이미지와 도커 이미지로 개념적으로 구분할 수 있습니다.

베이스 이미지 : 리눅스 배포판의 커널을 제외한 영억을 이미지로 만들어 시스템을 부팅할 때 필요한 최소한의 실행 파일과 라이브러리만으로 베이스 이미지를 구성하여 배포

도커 이미지 : 이러한 베이스 이미지에 추가적인 실행파일이나 라이브러리를 구성하여 도커 이미지로 배포 

 

 

 

 

 

 

먼저 Docker를 설치하려면 아래 경로로 이동하여 설치 파일을 다운로드 받습니다.

https://docs.docker.com/docker-for-mac/install/

 

다운로드 이후, 터미널에서 Docker 버전을 확인합니다.

docker version

 

잘 설치된 것을 확인하였습니다.

 

컨테이너 목록을 조회하는 명령어인 docker ps를 입력하면 아래와 같이 나옵니다. 

docker ps

 

아직은 생성한 컨테이너가 없어서 위와 같이 나옵니다. 그렇다면 그 다음에는 RDBMS인 postgresql을 설치하도록 하겠습니다.

docker run -p 5432:5432 -e POSTGRES_PASSWORD=[비밀번호] -e
POSTGRES_USER=[사용자 이름] -e POSTGRES_DB=[DB 이름] --name [컨테이너 이름] -d
postgres

위와 같은 명령어를 입력하고 다시 docker ps를 입력하면 아래와 같이 컨테이너가 생성된 것을 알 수 있습니다.

 

posgresql 서버에 접속하려면  docker exec -i -t [컨테이너 이름] bash를 입력합니다. 

그리고 컨테이너 안에서 ps ax | gresp postges 명령어를 실행하면 postgres가 잘 돌고 있는 것을 확인할 수 있습니다.

 

이제 user를 postgres로 변경한 뒤  postgresql의 Command Line Interface인 psql로 접속하여 데이터 베이스를 확인하겠습니다.

su - postgres

psql --username [사용자 이름] --dbname [DB 이름]

간단한 psql 명령어 입니다.

DB 목록 조회
\l  또는 \list

테이블 목록 조회
\dt

PSQL shell 종료
\q

현재는 만든 테이블이 없어서 Did not find any relations라고 나타납니다. ㅎ

 

종료 할 때는 \q로 psql을 종료하고 exit를 입력하여 postgre에서 로그아웃 한뒤, 한번 더 exit를 입력하여 컨테이너에서 나가면 됩니다.

 

 

설치한 PostgreSQL을 VSC(Visual Studio Code)와 연결하는 법

https://055055.tistory.com/40

 

 

참고 : 

스프링 부트 개념과 활용 (4부 스프링 부트 활용)  - 백기선

자바기반의 마이크로서비스 이해와 아키텍처 구축하기 - 박성훈 

 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함