본문 바로가기

Infra/Docker

Docker 명령어 정리 (image, container, compose)

728x90
반응형

Docker 실행

# 도커 실행 방법1 
sudo systemctl status docker

# 도커 실행 방법2
sudo /etc/init.d/docker start

Docker Image 관련 명령어

이미지 빌드

Dockerfile을 이용해서 이미지 생성

docker build -t {이미지명:태그명} {Dockerfile의 경로}

이미지 삭제

# 도커 단일 이미지 삭제
docker image rm {이미지 ID or 이름}

# 모든 도커 이미지 삭제 (컨테이너가 있어서 이미지 삭제가 안될 경우 -f 옵션으로 강제 삭제가능)
docker rmi {옵션} {이미지 ID or 이름}

# 불필요한 이미지 `<none>` 제거
docker image prune -f

이미지 조회

# 도커 이미지 목록
docker images

# 현재 이미지 목록
docker image ls

# 도커 허브에서 이미지 검색
docker search {이미지 이름}

이미지 다운로드

# 도커 허브에서 이미지 가져오기
docker image pull {이미지명:태그}

실행한 도커 컨테이너를 이미지로 생성

# 구동한 도커 컨테이너를 commit (변경사항을 다시 이미지로 생성)
docker container commit {컨테이너 이름} {커밋내용}

Docker Container 관련 명령어

컨테이너 생성

# 도커 컨테이너 생성
docker create {옵션} --name {컨테이너 이름} {이미지 Repository}

# 도커 컨테이너 생성 후 실행
docker run {옵션} --name {컨테이너 이름} {이미지 Repository}

# 주로 사용하는 생성 후 실행 명령어 
docker run -it --name {컨테이너 이름} -p {호스트 포트} : {컨테이너 포트} {이미지 Repository}

# 컨테이너 이름 변경
docker rename {기존 이름} {변경할 이름}

도커 컨테이너 옵션값 명령어

옵션 설명
-i 표준 입력(stdin) 활성화
-t TTY 모드(pseudo-TTY) 사용 해당 옵션을 사용하지 않을 경우 명령을 입력할 수는 있지만, Shell이 표시 되지 않음
--name 컨테이너 이름 지정
-d 데몬 프로세스(백그라운드)로 실행 --> 프로세스가 끝나도 유지
-p 호스트와 컨테이너의 포트 연결 (외부접근설정)
-v 호스트와 컨테이너의 directory 연결
--rm 컨테이너가 종료되면 컨테이너 제거

컨테이너 구동 확인

# 실행중인 컨테이너 목록
docker ps

# 모든 컨테이너 목록
docker container ps -a

컨테이너 삭제

# 단일 컨테이너 삭제
docker rm {컨테이너 ID or 이름}

# 모든 컨테이너 삭제 1
docker rm $(docker ps -a -q) 

# 모든 컨테이너 삭제 2
docker rmi $(docker images -q) -f

컨테이너 실행 & 종료

# 컨테이너 실행
docker start {이미지 이름:태그}

# 단일 컨테이너 중지
docker stop {컨테이너 ID or 이름}

# 모든 컨테이너 중지
docker stop $(docker ps -aq)

컨테이너 내부 접속 & 종료

# 실행중인 컨테이너 접속 1
docker exec -it {컨테이너 ID or 이름} /bin/bash

# 실행중인 컨테이너 접속 2
docker attach {이미지 이름: 태그}

# 실행중인 컨테이너 접속 종료 1
exit

# 실행중인 컨테이너 접속 종료 2
Ctrl + D

Docker Compose 관련 명령어

실행

# 컴포즈 파일에 정의된 컨테이너 빌드 후 실행
docker-compose up

# 컴포즈 파일에 정의된 컨테이너 빌드 후 백그라운드로 실행
docker-compose up -d

재시작

# 컴포즈 파일로 실행된 컨테이너 전부 재시작
docker-compose restart

# 컴포즈 파일로 실행된 컨테이너 중 특정 컨테이너만 재시작
docker-compose restart {컨테이너 ID or 이름}

종료

# 컴포즈 파일로 실행된 컨테이너 종료
docker-compose down

# 컴포즈 파일로 실행된 컨테이너 종료 및 볼륨 제거
docker-compose down -v

# 컴포즈 파일로 실행된 컨테이너 종료 후 삭제
docker-compose down

조회

# 컴포즈 파일로 실행된 컨테이너 조회
docker-compose ps

빌드

# 컴포즈 파일에 정의된 컨테이너 빌드
docker-compose build

# 컴포즈 파일에 정의된 컨테이너 중 특정 컨테이너만 빌드
docker-compose build {컨테이너 ID or 이름}
728x90
반응형