자주 쓰는 명령어
이미지
이미지 다운로드 | docker pull nginx:태그명 |
이미지 조회 | 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 nginx |
컨테이너 실행 | docker start [id] |
실무에선 Run 사용 (create + start) | docker run nginx |
컨테이너에 이름 붙이고 실행 | docker run -d --name my-web-server nginx |
포트 설정 | docker run -d -p 8080:80 nginx |
컨테이너 조회 | docker ps -a |
컨테이너 정상종료 | docker stop |
컨테이너 강제 종료 | docker kill |
컨테이너 삭제 | docker rm |
실행중인 컨테이너 삭제 | docker rm -f |
중지되어있는 모든 컨테이너 삭제 | docker rm $(docker ps -qa) |
실행되고 있는 모든 컨테이너 삭제 | docker rm -f $(docker ps -qa) |
✔️ foreground
- 내가 실행시킨 프로그램의 내용이 화면에서 실행되고 출력되는 상태
- 다른 프로그램 조작 불가
✔️ background
- 내가 실행시킨 프로그램이 컴퓨터 내부적으로 실행되는 상태
- 로그 등 실시간 확인 불가
⚠️ port 설정
docker run -d --name my-web-server nginx
을 실행하고 localhost:80하면 실행이 안됨
>> 063c3950f475 nginx "/docker-entrypoint.…" 8 seconds ago Up 5 seconds 80/tcp elegant_liskov
왜냐하면 호스트 컴퓨터와 컨테이너 컴퓨터는 분리가 되어있기 때문이다.
그래서 -p 8080:80을 통해
사용자가 외부에서 요청을 보내는데 8080번 포트로 요청을 보내면, 컨테이너의 80포트랑 연결시키겠다. 라고 정의를 해줌
- docker run -d -p 8080:80 nginx
컨테이너 로그 조회
foreground로 하면 로그는 바로 뜨기때문에 백그라운드에서 조회하는 방법
로그 조회 | docker logs [id] |
10줄만 보기 | docker logs --tail 10 [id] |
실시간 생성되는 로그 보기 | docker logs -f [id] |
실행중인 컨테이너 내부에 접속하기
docker exec -it [id] bash
~ ❯ docker exec -it 94b bash
root@94b655f01512:/# ls 컨테이너 환경에서의 폴더 구조 확인
bin dev [docker-entrypoint.sh](http://docker-entrypoint.sh/) home lib64 mnt proc run srv tmp var
boot docker-entrypoint.d etc lib media opt root sbin sys usr
- nginx가 깔려있어서 관련 파일 확인 가능
root@94b655f01512:/etc/nginx# ls
conf.d fastcgi_params mime.types modules nginx.conf scgi_params uwsgi_params
root@94b655f01512:/etc/nginx#
'є(・Θ・。)э››' 카테고리의 다른 글
Docker - 1 (0) | 2025.04.03 |
---|