ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Docker] Docker 개념과 실행해보기
    IT/개발 관련(DB, Git, Docker, Blockchain 등) 2019. 9. 2. 13:34

    오늘은 도커에 대해서 정리를 해보겠다!

    백문이 불여일견이라고, 빨리 실행해보고 싶어서 최소한의 개념만 잡고 바로 실행부터 해보았다.

     

     

    1. 도커 개념

    도커는 리눅스의 컨테이너 기술이다. 위의 이미지는 도커의 상표인데, 고래 등에 층층이 올라가 있는 것이 컨테이너!

     

     

    우리가 평소에 알고있는 그 컨테이너와 같은 역할을 한다. 다만 차이가 있다면 각각의 컨테이너에는 하나의 소프트웨어 단위가 들어가서 실행된다. 예를들면, mysql이 실행되고 있는 컨테이너나 ubuntu 18.04가 실행되고 있는 컨테이너 등등.

     

     

    docker hub은 도커의 원격 저장소 개념이다.

    나의 로컬에 mysql이 실행중인 컨테이너를 만들고싶다면, 도커헙에서 mysql 이미지를 다운로드해서 실행을 해야 한다.

    혹은 내가 만든 이미지를 docker hub에 공유할 수도 있다.

     

     

     

    도커를 사용하려면, 맥과 윈도우에서는 docker desktop을 설치하면 된다.

    커맨드라인(CLI)에서는 물론이고,

    docker desktop의 kitematic을 이용하면 위와 같이 GUI 환경에서도 이미지를 다운로드할 수 있다.

     

     

     

    2. 도커 설치

    맥을 사용하고 있기 때문에 이곳에서(https://docs.docker.com/docker-for-mac/install/) Docker Desktop을 설치했다.

    설치가 완료 됐으니, 이제 터미널에서 docker version을 쳐보면 아래와 같이 나온다.

     

    $ docker version

    docker version

    Client: Docker Engine - Community

     Version:           19.03.1

     API version:       1.40

     Go version:        go1.12.5

     Git commit:        74b1e89

     Built:             Thu Jul 25 21:18:17 2019

     OS/Arch:           darwin/amd64

     Experimental:      false

     

    Server: Docker Engine - Community

     Engine:

      Version:          19.03.1

      API version:      1.40 (minimum version 1.12)

      Go version:       go1.12.5

      Git commit:       74b1e89

      Built:            Thu Jul 25 21:17:52 2019

      OS/Arch:          linux/amd64

      Experimental:     false

     containerd:

      Version:          v1.2.6

      GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb

     runc:

      Version:          1.0.0-rc8

      GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f

     docker-init:

      Version:          0.18.0

      GitCommit:        fec3683

     

    3. 도커로 포스트그레스 설치하고 실행해보기

    도커 동작 확인

    $ docker ps

     

    도커로 포스트그레스 설치

    $ docker run -p 5432:5432 -e POSTGRES_PASSWORD=pass -e POSTGRES_USER=kesun -e POSTGRES_DB=springdata --name postgres_boot -d postgres

     

    -p

    포트 매핑.

    포스트그레스 컨테이너가 5432 포트로 포스트그레스 서비스 노출. 나의 localhost의 5432로 매핑. 애플리케이션이 5432에 접속하면 포스트그레스에 접속.

    -e

    환경변수.

    포스트그레스 패스워드, 유저, 디비이름.

     

    --name 컨테이너 이름.
    -d 데몬 모드로 띄운다. 백그라운드로 띄운다.
    postgres 이미지의 이름.


    포스트그레스 실행하기

    $ docker exec -i -t postgres_boot bash 

    exec 명령어 실행
    -i  인터랙티브 모드
    -t  어느 컨테이너에 이 명령어를 실행할지
    bash 실행할 명령어

     

    위의 명령어를 입력하면 포스트그레스 컨테이너 안으로 들어간다.

    아래는 포스트그레스에 정상적으로 접속 됐을 때 사용하는 포스트그레스 명령어이다.

     

    su - postgres            :        postgres user로 변경하는 명령

    psql springdata        :        vpsql 사용해서 접속할 디비 이름 준다. 

    \list                          :        디비 리스트 확인

    \dt                           :         테이블 목록 확인

     

     

     

     

Designed by Tistory.