2022. 11. 7. 01:36ㆍ개발 지식
Docker는 이미 많은 개발자들이 사랑하는 기술이 되었다.
개인 프로젝트부터 사내에서 개발 단계의 프로젝트를 실행할 때 자주 쓰이곤 한다.
그럼에도 이 Dockerfile만 열심히 작성하거나, 한번 환경을 구축시키면 다시 볼 일이 자주 없는 탓에
기본 명령어를 자주 잊어먹곤 한다.
그래서 이렇게 블로그에 정리하려고 한다.
도커 이미지 내부 파일 구조 보기
docker run hello-world ls
이 명령어를 사용하면 도커 이미지의 파일 구조를 확인할 수 있다.
실제로 사용할 일은 별로 없겠지만, 빌드한 후 급하게 파일이 있나 없나 확인할 때 유용할 것 같다.
컨테이너 나열하기
docker ps
이 명령어는 현재 실행 중인 컨테이너를 나열한다.
컨테이너 ID, image, COMMAND, 생성시간, 상태, port 등을 확인할 수 있다.
컨테이너 실행
docker run <image name>
docker run은 docker create + docker start로 이루어져 있다.
create는 컨테이너를 만들어 컨테이너 하드에 이미지 안의 파일을 다운로드하는 명령어고,
start는 만들어진 컨테이너를 실행하는 명령어다.
컨테이너 중지
컨테이너를 중지하는 방법은 두 가지가 있다.
docker stop <container id>
or
docker kill <container id>
이름에서 유추가 가능하다.
stop은 graceful stop 즉, 하던 작업을 마치고 중지한다.
kill은 그런 거 없이 즉시 중지한다.
컨테이너 삭제
docker rm <container id>
docker rm `docker ps -a -q`
위 명령어는 특정 id의 컨테이너를 삭제한다.
물론 중지된 상태여야 한다.
아래 명령어는 중지된 모든 컨테이너를 삭제한다.
이미지 삭제
도커 이미지 삭제는 뭔가docker rm -i <imageId>
일 것 같지만,
사실은
docker rmi <image id>
이다.
실행 중인 컨테이너에 명령어 전달하기
갑자기 내부 파일을 보고 싶거나 할 수 있다.
docker exec <container id> <실행할 명령어>
'개발 지식' 카테고리의 다른 글
(Java8) 자바 8에서 변경된 인터페이스(1) + 이펙티브 자바 (0) | 2022.11.22 |
---|---|
(Java 8) 자바 8에 추가된 함수형 인터페이스(Function, Predicate 등) (2) | 2022.11.20 |
(Spring) JPA exists를 최적화하는 여러가지 방법들 (0) | 2022.11.05 |
(운영체제) API? ABI? 리눅스 시스템 프로그래밍 (0) | 2022.10.25 |
(Spring) DI/의존 객체 주입 패턴 + Lombok (0) | 2022.09.20 |