티스토리 뷰

Docker Image

먼저 docker로 어떤 실행파일 돌리기 위해서는 실행파일에 대한 이미지가 필요합니다.

이미지 검색

docker search --limit=5 postgres

search로 찾는 이미지들을 검색할 수 있습니다. 그냥 검색하면 너무 많은 이미지가 나오니까 가장 인기가 많은 상위 다섯개의 이미지만 검색하기위해 —limit=5 옵션을 붙여줘서 검색합니다.

위와 같이 제일 인기있는 5개의 이미지가 나오는데 OFFICIAL인 제일 상위 이미지를 사용해야 할 것 같습니다.

이미지 다운로드

docker pull postgres
docker pull postgres:14

docker pull 명령어로 이미지를 다운로드 받을 수 있습니다.

뒤에 : 콜론을 추가하면 상세한 버전을 정해서 다운로드도 가능합니다.

이미지 조회 및 삭제

docker image ls or docker images # 이미지 조회 
docker image rm 이미지ID or docker rmi 이미지ID # 이미지 삭제

Docker Container

이미지를 다운로드 받았다면 이미지를 실행시킬 컨테이너를 만들어줘야 합니다.

컨테이너 생성

docker create postgres
docker create 컨테이너 이름 postgres(이미지 이름)

만약 이미지 이름만 넣는다면 컨테이너 이름이 ac4675844f681d8bb1cdb80c89bb3c884c30273fd5c250b5b89af38b25443c1f 와 같이 무작위로 만들어지기 때문에 컨테이너 이름을 넣고 만들어주도록 합시다.

컨테이너 조회 및 삭제

docker ps 
docker ps -a 

docker rm 컨테이너 이름

docker ps는 실행중인 컨테이너 목록을 볼 수 있으며 -a 옵션을 넣을시 중지중인 컨테이너까지 모두 확인 가능합니다.

컨테이너 실행

docker start 컨테이너 이름

원래 여기까지 하면 컨테이너가 바로 실행되어야 합니다.

하지만 postgres는 실행시키기 전에 해줘야 할 설정이 있습니다.

docker_hub 에서 확인해보면 -e 옵션을 통해 패스워드를 먼저 설정해줘야 함을 알려주고 있습니다.

다음과 같이 실행시켜 주도록 합니다.

docker run -p 5432:5432 --name postgres -e POSTGRES_PASSWORD=123123 -d postgres

-p : 호스트와 컨테이너의 포트를 연결 시킬 수 있습니다. (포트포워딩 )5432 포트로 연결하면 → 5432로 연결됩니다. 만약 5433:5432 로 바꾼다면 로컬에서 5433으로 연결시에 컨테이너의 5432로 연결되게 됩니다.

—name : 컨테이너 이름

-e : docker 컨테이너의 환경변수를 설정하기 위한 옵션

-d : 컨테이너를 백그라운드에서 실행시키기 위한 옵션

컨테이너 터미널 접속

컨테이너(postgres)에 직접 연결하고 싶을 때 사용하는 명령어 입니다.

docker exec -it 컨테이너 이름 /bin/bash
psql -U postgres

위와 같이 로컬에서 쓰듯 컨테이너로 바로 접속 할 수 있습니다.

하지만 위처럼 쓰게 되면 Docker를 종료했다가 다시 시작하면 데이터는 사라지게 됩니다.

따라서 Docker에서 사용하는 데이터를 로컬에 저장할 필요가 있습니다.

컨테이너의 데이터를 로컬에 데이터 저장

docker run -v "호스트 PC의 절대경로":"도커 컨테이너의 절대경로"

-v 옵션은 호스트 컴퓨터의 파일 시스템의 특정 경로를 컨테이너 파일 시스템의 특정 결로로 마운트 해줍니다.

docker run -p 5432:5432 --name postgres -e POSTGRES_PASSWORD=123123 -d -v "호스트PC의경로":/var/lib/postgresql/data postgres

위와 같은 코드로 실행시켜주면 드디어 postgres를 docker로 돌릴 수 있게 됩니다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함