Docker 전체 사용자에서 사용 가능하게 하기 위해 Docker 그룹에 사용자 추가
sudo usermod -aG docker $USER # 현재 접속중인 사용자에게 권한주기
sudo usermod -aG docker your-user # your-user 사용자에게 권한주기
1. Docker Hub에서 Postgres 검색 후 이미지 정보 확인
Docker Hub Link : postgres - Docker Hub
docker pull postgres
🔔 이미지를 다운받지 않고 postgres 이미지를 명시해 컨테이너 실행하게 되면 자동으로 이미지를 다운받는다.
2. Postgres Docker 컨테이너 이미지 생성
#볼륨 지정 없이 생성
$ docker run -p hostPort:dockerPort --name postgres -e POSTGRES\_PASSWORD=some\_password -d postgres
#볼륨을 지정해 생성
$ docker run --name some-name -v /my/own/datadir:/var/lib/postgresql/data -e POSTGRES\_PASSWORD=mysecretpassword -d postgres:tag
🗨️ 볼륨을 지정해 생성할시에 Docker 컨테이너를 삭제한 후 재생성해도 데이터가 살아있다.
2-1. 컨테이너 실행 명령어
docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
⫸자주 사용하는 옵션
옵션 | 설명 |
\-d | detached mode 흔히 말하는 백그라운드 모드 |
\-p | 호스트와 컨테이너의 포트를 연결 (포워딩) |
\-v | 호스트와 컨테이너의 디렉토리를 연결 (마운트) |
\-e | 컨테이너 내에서 사용할 환경변수 설정 |
–name | 컨테이너 이름 설정 |
–rm | 프로세스 종료시 컨테이너 자동 제거 |
\-it | \-i와 -t를 동시에 사용한 것으로 터미널 입력을 위한 옵션 |
–link | 컨테이너 연결 \[컨테이너명:별칭\] |
3. 생성된 컨테이너 목록 확인
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2093fec3b2ac postgres "docker-entrypoint.s…" 2 minutes ago Up 2 minutes
4. 컨테이너 접속
docker exec -it postgres /bin/bash root@ac61c662ee4c:/# psql -U postgres # ...이후 Postgres 접속
참고 자료
'Developer > Docker' 카테고리의 다른 글
CentOS 7에 Docker 설치하기 (0) | 2021.03.08 |
---|---|
Docker란? (0) | 2021.03.08 |