본문 바로가기

TroubleShooting/Docker

docker 명령어 간단 정리

728x90

- docker run

: 도커 이미지 실행

# docker run --rm -p 80:80 nginx:latest

nginx:latest 이미지가 local 에 없으면 repo 에서 최신 버전을 다운받고 나서 실행된다.

※ --rm : 컨테이너 삭제 명령어인데, run 과 함계 사용해서 컨테이너 종료시 사용했던 자원들(임시 파일들, 컨테이너)이 같이 삭제된다.

※ -p : 호스트와 컨테이너 포트 연결. <호스트 포트>:<컨테이너 포트>. 

ex) 8085:80 -> localhost:8085 로 연결하면 nginx 80 으로 연결

 

- docker inspect

: 컨테이너 정보 확인

# docker inspect [이미지명]

도커 디렉토리 /var/lib/docker/overlay2 하위 디렉토리인 a8a9da~/ 라는 디렉토리에 데이터가 있는 걸을 확인할 수 있다.

 

- docker ps

: 실행 중인 컨테이너 목록 확인

# docker ps

실행중인 컨테이너(d7a42d937cee / nginx:latest / pedantic_wilbur) 은 도커 디렉토리(/var/lib/docker) 하위 containers/ 디렉토리에서 디렉토리 형태로 확인할 수 있다.

 

- docker exec

: 컨테이너에서 명령어 실행

# docker exec -it [컨테이너] /bin/bash

/bin/bash 을 실행해서 컨테이너 내부에서 쉘 명령어들을 실행할 수 있다.

(-i : interfactive, 컨테이너 안에서 대화형 쉘(shell) 을 생성, -t : pseude-TTY, 표준 컨테이너 입력(input) 에 연결된 tty 을 할당.

※ 두 옵션을 항상 같이 해야, 일반 터미널 애뮬레이터에서 작업하는 거처럼 명령어 입력시 바로 결과로 보임)

 

- docker rm

: 컨테이너 삭제

# docker rm [컨테이너]

nginx:latest(d98e799d55d6) 컨테이너를 삭제하려고 했는데 실행중이이서 에러가 났지만 컨테이너를 중단시키고, 두번째 삭제를 했을때 처리가 되었다. 도커디렉토리 /var/lib/docker/containers/ 에서도 디렉토리(d98e799d55d6~)도 사라졌다.

 

- docker rmi

: 이미지 삭제

# docker rmi [이미지]

nginx:latest 가 실행중인 컨테이너가 있어서 에러가 나서 강제 옵션으로(--force) 삭제했다. 컨테이너 디렉토리(1069d0f1~) 는 사라지지 않았고, docker rm 을 실행해야 사라진다.

 

참고

https://docs.docker.com/engine/reference/run/

 

Docker run reference

Configure containers at runtime

docs.docker.com

https://www.freecodecamp.org/news/where-are-docker-images-stored-docker-container-paths-explained/

 

Where are Docker Images Stored? Docker Container Paths Explained

Docker has been widely adopted and is used to run and scale applications in production. Additionally, it can be used to start applications quickly by executing a single Docker command. Companies also are investing more and more effort into improving develo

www.freecodecamp.org

https://goteleport.com/blog/get-a-shell-into-kubernetes-pod/

 

How to get a shell in a Kubernetes Pod

How to get a shell into a Docker container and Kubernetes pod.

goteleport.com