티스토리 뷰
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
- taggit
- 문자열 뒤집기
- django
- go
- 팰린드롬수
- 프로그래머스
- for-else
- leetcode
- ManyToMany
- dfs
- sql lite
- 의대 신경학 강의
- conTeXt
- Python
- 파이썬
- 소프트웨어 장인
- query
- go context
- Two Scoops of Django
- gunicorn
- stdout
- 방금그곡
- 독후감
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |