도커 명령어

topics
types
tags
#docker #command

도커 명령어

자주 쓰는 Docker 명령어를 정리했다. 전체 흐름은 이렇다:
로그인 → 이미지 빌드 → 태그 → 푸시 → 컨테이너 실행 → 확인 → 정리

이미지 관련 명령어

# 이미지 목록 확인
docker images

# 이미지 빌드 (현재 디렉토리의 Dockerfile 사용)
docker build -t 이미지이름 .

# 이미지에 태그 달기 (Docker Hub에 푸시하려면 username 필요)
docker tag 이미지이름 username/이미지이름:latest

# 이미지 삭제
docker rmi 이미지이름

컨테이너 관련 명령어

# 컨테이너 실행
docker run -d --name 컨테이너이름 -p 호스트포트:컨테이너포트 이미지이름

# 실행 중인 컨테이너 확인
docker ps

# 모든 컨테이너 확인 (중지된 것 포함)
docker ps -a

# 컨테이너 중지
docker stop 컨테이너id

# 컨테이너 삭제 (중지 상태여야 함)
docker rm 컨테이너id

# 컨테이너 로그 확인
docker logs 컨테이너id

주의: 컨테이너를 삭제하려면 먼저 중지해야 한다.

Docker Hub 관련 명령어

# 로그인
docker login -u username

# 이미지 푸시
docker push username/이미지이름:latest

# 이미지 풀
docker pull 이미지이름

Docker Hub 로그인 팁: 소셜 로그인으로 가입한 경우, 웹에서 Docker Hub → Account Setting → Password → reset 해서 비밀번호 설정해야 CLI에서 로그인 가능하다.

docker run 옵션 정리

옵션 설명 예시
-d 백그라운드 실행 docker run -d nginx
--name 컨테이너 이름 지정 --name my-nginx
-p 포트 포워딩 (호스트:컨테이너) -p 8080:80
-v 볼륨 마운트 -v /host/path:/container/path
-e 환경 변수 설정 -e MY_VAR=value
--rm 종료 시 자동 삭제 docker run --rm nginx

실습 예제: Nginx 커스텀 이미지 만들기

# 1. 작업 디렉토리 생성
mkdir my-nginx-custom && cd my-nginx-custom

# 2. Dockerfile 생성
cat <<EOF > Dockerfile
FROM nginx
COPY index.html /usr/share/nginx/html/index.html
EOF

# 3. 이미지 빌드
docker build -t my-nginx-custom .

# 4. 컨테이너 실행
docker run -d --name custom-web -p 8090:80 my-nginx-custom

# 5. 확인
curl localhost:8090

관련 문서