[Docker] 도커 명령어

류재성's avatar
Jul 19, 2024
[Docker]  도커 명령어
 
 

1. 관리 폴더 만들기

 
notion image
 
cmd 창을 관리자 모드로 킨다.
 
notion image
d: // d: 드라이브로 이동
 
 
notion image
mkdir 폴더명 // 폴더 생성
 
notion image
cd // 폴더 경로 이동
 
notion image
git init // 현재 디렉토리가 Git 리포지토리가 되어 Git 명령어를 사용할 수 있게 된다.
 

2. docker pull

💡
Docker Hub와 같은 이미지 레지스트리에서 로컬 시스템으로 다운로드하는데 사용한다.
 
notion image
docker pull 이미지명 // 이미지 파일 다운
 
 
notion image
 
docker images // 실행 중인 docker 이미지 목록 표시
 
notion image
 
docker hub 에서도 다운받은 걸 확인할 수 있다.
 

3. docker run

💡
이미지를 기반으로 새로운 컨테이너를 생성하고 실행하는 명령어
 
docker run 파일명
 
notion image
docker ps // docker 로 실행 중인 프로그램을 보여준다.
 
실행중인 이미지 파일에 ubuntu 가 존재하지 않는다.
 
💡
이미지 파일은 실행 후 바로 종료된다. 실행 중인 파일을 확인하려면 프로세스가 종료되지 않고 계속 돌고 있어야 한다. 이때 터미널 모드로 실행하게 되면 사용자 입력 대기 상태가 되기 때문에 프로세스가 종료되지 않는다.
 

4. docker run -it

💡
-i : 표준 입력(stdin)을 열어 두는 역할. 컨테이너 안에서 명령어를 입력하고 실행할 수 있다. -t : 가상 터미널(tty)을 할당한다. 이는 터미널의 입력과 출력을 처리할 수 있도록 해준다. -it : 컨테이너 내부에서 상호작용할 수 있는 터미널 환경을 제공받을 수 있다. 이를 통해 사용자는 컨테이너 내부에서 명령어를 실행하고, 실시간으로 결과를 확인하며 작업을 수행할 수 있다.
docker run -it 이미지명 bash // 터미널 모드로 접근할 때 -it
notion image
 
사용자 입력 대기 상태가 된다.
 
notion image
docker ps // docker 로 실행 중인 프로그램을 보여준다.
 
notion image
ls // 현재 디렉터리의 파일들을 보여준
 
notion image
exit // 터미널 모드에서 빠져나온다.
 

5. docker run -dit

💡
-d: 컨테이너를 백그라운드(detached) 모드에서 실행한다. 이 옵션을 사용하면 터미널을 차지하지 않고, 컨테이너가 백그라운드에서 실행된다.
 
notion image
docker run -dit ubuntu bash // ubuntu를 백그라운드에서 실행
 

6. docker attach

💡
이미 실행 중인 Docker 컨테이너에 연결하여 해당 컨테이너의 표준 입력(stdin), 표준 출력(stdout), 표준 오류(stderr) 스트림에 접근할 수 있게 해준다.
 
docker attach container_id // 실행 중인 컨테이너 접속
 
notion image
 
 

명령어 모음

💡
이미지 관리
docker pull [이미지 이름] # Docker Hub에서 이미지를 다운로드합니다. docker images # 로컬에 저장된 모든 이미지를 나열합니다. docker rmi [이미지 ID] # 로컬에서 이미지를 삭제합니다.
 
컨테이너 관리
docker run [옵션] [이미지 이름] # 새로운 컨테이너를 생성하고 실행합니다. docker ps # 실행 중인 컨테이너 목록을 나열합니다. docker ps -a # 모든 컨테이너 목록을 나열합니다. docker start [컨테이너 ID] # 중지된 컨테이너를 시작합니다. docker stop [컨테이너 ID] # 실행 중인 컨테이너를 중지합니다. docker restart [컨테이너 ID] # 컨테이너를 재시작합니다. docker rm [컨테이너 ID] # 컨테이너를 삭제합니다. docker exec -it [컨테이너 ID] bash # 실행 중인 컨테이너 내부에 접근하여 bash 셸을 실행합니다.
 
네트워크 관리
docker network ls # Docker 네트워크 목록을 나열합니다. docker network create [네트워크 이름] # 새로운 네트워크를 생성합니다. docker network rm [네트워크 이름] # 네트워크를 삭제합니다.
 
볼륨 관리
docker volume ls # Docker 볼륨 목록을 나열합니다. docker volume create [볼륨 이름] # 새로운 볼륨을 생성합니다. docker volume rm [볼륨 이름] # 볼륨을 삭제합니다.
 
Dockerfile 및 빌드
docker build -t [이미지 이름] . # Dockerfile을 사용하여 이미지를 빌드합니다.
 
컨테이너 로그
docker logs [컨테이너 ID] # 컨테이너의 로그를 출력합니다. docker logs -f [컨테이너 ID] # 컨테이너의 로그를 실시간으로 출력합니다.
 
Docker 정보
docker info # Docker 시스템 정보를 출력합니다. docker version # Docker 버전 정보를 출력합니다.
 
이미지 및 컨테이너 저장 및 로드
docker save -o [파일명.tar] [이미지 이름] # 이미지를 파일로 저장합니다. docker load -i [파일명.tar] # 파일에서 이미지를 불러옵니다. docker export [컨테이너 ID] -o [파일명.tar] # 컨테이너 파일 시스템을 파일로 내보냅니다. docker import [파일명.tar] # 파일에서 컨테이너 파일 시스템을 가져옵니다.
 
기타 유용한 명령어
docker inspect [컨테이너 ID/이미지 이름] # 컨테이너 또는 이미지의 상세 정보를 출력합니다. docker diff [컨테이너 ID] # 컨테이너 파일 시스템의 변경 사항을 나열합니다.
 
Share article

More articles

See more posts

{CODE-RYU};