[이미지 다운]
# docker pull 이미지명(:latest)
$ docker pull nginx #최신버전
$ docker pull nginx:stable-perl #특정버전(=태그명)
이미지는 Dockerhub에서 다운받는다.
ㄴ Dockerhub: 이미지를 저장/다운 받을수 있는 저장소
[이미지 조회/삭제]
$ docker image ls #다운받은 모든 이미지 조회
$ docker image rm [이미지 ID(일부만 입력가능) 또는 이미지명] #특정 이미지 삭제
$ docker image rm -f [이미지 ID(일부만 입력가능) 또는 이미지명] #중지된 컨테이너에서 사용하는 이미지 강제삭제
$ docker image rm $(docker images -q) #컨테이너에서 사용안하는 이미지 전체삭제
$ docker image rm -f $(docker images -q) #컨테이너에서 사용하는 이미지 포함 전체 이미지 삭제
[컨테이너 생성/실행]
이미지를 바탕으로 컨테이너를 생성.
#docker create 이미지명[:태그명]
$ docker create nginx # 생성만 하고 실행은 안시킴. 다운받은 이미지 없으면 Dockerhub에서 이미지 다운받아서 컨테이너 생성됨
$ docker ps -a #모든 컨테이너 조회
#이미지 바탕으로 컨테이너 생성 후 실행까지 시키기
$ docker run nginx #포그라운드 실행. Ctrl+C 로 종료가능
$ docker run -d nginx # 백그라운드 실행.
$ docker run -d --name my-web nginx #컨테이너에 my-web이라는 이름 붙여서 생성
#갱신된 이미지 다운시 docker pull
#정지된 컨테이너 실행
# docker start 컨테이너명 또는 ID
$ docker start 컨테이너명 또는 ID
$ docker ps #실행중인 컨테이너 조회
#컨테이너 중단 후 삭제
$ docker ps
$ docker stop ID #컨테이너 중단
$ docker kill ID #강제중지
$ docker rm ID #중지되어있는 컨테이너 삭제
$ docker rm -f ID #실행중인 컨테이너 삭제
$ docker rm $(docker ps -qa) #중지된 모든 컨테이너 삭제
$ docker rm -f $(docker ps -qa) #실행중인 모든 컨테이너 삭제
$ docker image rm nginx #이미지 삭제
[호스트의 포트와 컨테이너의 포트 연결]
$ docker run -d -p 4000:80 nginx #[호스트포트]:[컨테이너포트] 이미지명

[컨테이너 로그 조회]
$ docker run -d nginx
$ docker logs ID
# 최근 로그 10줄
$ docker logs --tail 10 ID
#기존 로그 조회+생성되는 로그 실시간
$ docker run -d -p 80:80 nginx #nginx의 컨테이너에 실시간으로 쌓이는 로그
$ docker logs -f #-f는 follow 의미
#기존 로그 조회없이 생성되는 로그 실시간
$ docker logs -tail 0 -f 컨테이너ID
[실행중인 컨테이너 내부 접속]
# docker exec -it 컨테이너ID bash
$ docker run -d nginx
$ docker exec it ID bash #컨테이너에 접속. -it 옵션을 적어야 종료되지 않고 계속해서 명령어 입력가능
$ ls
$ cd /etc/nginx
$ cat nginx.conf
#Ctrl+D 또는 exit 입력해서 탈출'개발공부' 카테고리의 다른 글
| [Docker] Docker Compose (0) | 2026.03.12 |
|---|---|
| [Docker] Dockerfile (0) | 2026.03.11 |
| [Docker] Docker 기본 개념 (0) | 2026.03.09 |
| [트러블슈팅] 자바 Properties 파일을 못 읽는 현상 (0) | 2024.11.08 |
| java PreparedStatement 재사용시 유의점 (1) | 2024.11.07 |