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 -p 5432:5432 -e POSTGRES_PASSWORD=rojae8918 -e 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 -i -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 |
마무리
도커는 필수가 되어지는 것 같다.
※ 본 글은 개인 포트폴리오 혹은 공부용으로 사용하기 때문에, 무단 복사 유포는 금지하지만, 개인 공부 용도로는 얼마든지 사용하셔도 좋습니다
'AWS, Infra > docker' 카테고리의 다른 글
[Docker] MSSQL 컨테이너 생성과 테스트 그리고 계정 생성 (MSSQL Docker For MacOS) (1) | 2022.10.04 |
---|
댓글