ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Docker] 도커 설치, Postgresql 추가
    AWS, Infra/docker 2020. 11. 29. 04:00

     

         로재의 개발 일기      

    Docker 도커

    '도커를 언젠가는 사용하겠지?' 라는 생각을 하고 있었다..


    하지만 최근 

    강의를 듣거나 여러 데이터베이스 및 웹 서버를 사용해 

    학습, 토이 프로젝트를 

    진행하다보니, 

    도커를 필히 사용해야 시간을 절약할 수 있겠더라..


    그래서 설치하고 직접 사용하고 있는데

    매우 간편하고 좋네요.


    지금까지 왜 사용하지 않았을까? 라는 후회



     도커를 설치합니다.

    간단하게 인터넷에 접속합니다.

    저의 경우는 리눅스 혹은 맥의 경우 였습니다.


    링크주소

    >> https://hub.docker.com/_/docker <<




    설치를 해주고

    'docker -v' 명령어로 버전을 조회해봅니다.

    1
    2
    rojae@rojaeui-MacBookPro % docker -v
    Docker version 19.03.13, build 4484c46d9d
    cs

    정상적으로 버전이 나왔다면 설치가 된겁니다.


     Postgresql를 설치합시다.

    다음 명령어로 도커에 컨테이너를 만들어줍니다.

    1
    2
    3
    4
    # docker에 postgres 컨테이너를 생성, -e 환경, -d 데몬
    docker run -5432:5432 -e POSTGRES_PASSWORD=rojae8918 -
    POSTGRES_USER=rojae -e POSTGRES_DB=springdata 
    --name postgres_boot -d postgres
    cs


    이제 'docker ps' 명령어로 

    정상적으로 올라갔는지 봅시다.

    1
    2
    3
    rojae@rojaeui-MacBookPro % docker ps
    CONTAINER ID        IMAGE               COMMAND                  ...
    9565983bd1b1        postgres            "docker-entrypoint.s…"   ...
    cs


    정상적으로 올라간 것을 알 수 있습니다.

    하지만 만약에 없다면


    'docker ps -a' 명령으로 전체 조회를 해봅니다.

    1
    2
    3
    rojae@rojaeui-MacBookPro % docker ps -a
    CONTAINER ID        IMAGE               COMMAND                  ...
    9565983bd1b1        postgres            "docker-entrypoint.s…"   ...
    cs


    이때 !!

    만약에 'docker ps'는 없지만 'docker ps -a'에는 존재한다면

    강제로 컨테이너를 올려줄 필요가 있으며,

    그래도 안된다면

    높은 확률로 이미 사용중인 포트일 수 있습니다.

    (저의 경우는 이미 postgresql이 깔려 있었어요)



    이제 컨테이너를 실행하고

    1
    2
    # 컨테이너 실행, -i interactive 백그라운드, -t 타켓
    % docker exec --t postgres_boot bash
    cs


    계정을 관리자로 바꾸고

    데이터베이스에 접근합니다.

    (이후 단순 postgresql 쓰는 것 처럼 하면 됩니다)

    1
    2
    3
    4
    5
    6
    # 계정 스위칭
    su - postgres
     
    # 데이터베이스 접근, 위가 안되면 아래로 해결
    psql springdata
    -> or psql --username rojae --dbname springdata
    cs


    데이터베이스에 접근하여

    자유롭게 사용이 가능합니다.

    1
    2
    3
    4
    5
    6
    7
    springdata=# \dt  
     
            List of relations
     Schema |  Name   | Type  | Owner 
    --------+---------+-------+-------
     public | account | table | rojae
    (1 row)
    cs




     Postgresql, docker 명령어 정리

    마지막으로 명령어를 정리하면서

    글을 마치겠습니다.

    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
    # 실행중인 컨테이너 조회
    docker ps
     
    # 컨테이너 전체 조회 (정지상태까지)
    docker ps -a
     
    # 도커 이미지 조회
    docker images
     
    # 도커 이미지 제거
    docker rmi {iamge_id}
     
    # 컨테이너 시작
    docker start {container_id}
     
    # 컨테이너 정지
    docker stop {container_id}
     
    # 컨테이너 재시작
    docker restart {container_id}
     
    # 컨테이너 삭제
    docker rm {container_id}
     
    # 테이블 조회
    \dt
     
    # 데이터베이스 조회
    \list
    cs





    마무리

    도커는 필수가 되어지는 것 같다.



    ※ 본 글은 개인 포트폴리오 혹은 공부용으로 사용하기 때문에, 무단 복사 유포는 금지하지만, 개인 공부 용도로는 얼마든지 사용하셔도 좋습니다



    반응형
Designed by Tistory.