벡엔드/docker
[docker] 도커 기본 명령어
코딩하는이씨
2023. 10. 24. 17:04
728x90
반응형
도커 명령어
컨테이너를 다루는 명령어는 ‘docker’ 명령어로 시작한다.
도커 명령어의 기본 형태
docker 커맨드(상위/하위) (옵션) 대상(이미지) (명령어)(인자)
- 커맨드(상위/하위)
- ‘무엇을’, ‘어떻게’에 해당하는 부분
- 커맨드는 상위 커맨드(’무엇을’)와 하위 커맨드(’어떻게’)로 구성되어있다.
- 상위 커맨드는 12 종류가 있다.
- ex) docker container start penguin
- 옵션
- 옵션은 커맨드에 세세한 설정을 지정하는 용도
- 커맨드의 실행 방법 or 커맨드에 전달할 값을 지정
- ex) -d, —name penguin, -dit
- 대상(이미지)
- 커맨드와 달리 구체적인 이름을 지정
- ex) docker container start (옵션) penguin
- 명렁어 인자
- 대상에 전달할 명령어와 인자 값을 지정
- 문자 코드 또는 포트 번호 등을 전달 가능
- ex) docker run -d python:3.8-alpine python -m http.server
컨테이너 생성, 실행, 종료, 삭제
컨테이너 생성 및 실행
컨테이너를 생성하고 실행하는 커맨드 : docker run (docker container run)
- docker image pull + docker container create + docker container start
docker run (옵션) 이미지 (인자)
주요 옵션
—name 컨테이너_이름 | 컨테이너 이름을 지정 |
-p 호스트_포트번호 : 컨테이너_포트번호 | 포트번호를 지정 |
-v 호스트디스크 : 컨테이너_디렉터리 | 볼륨 마운트 |
—net = 네트워크_이름 | 컨테이너를 네트워크에 연결 |
-e 환경변수_이름 = 값 | 환경변수를 설정 |
-d | 백그라운드로 실행 |
-i | 컨테이너에 터미널(키보드)를 연결 |
-it | 컨테이너와 상호작용하는 대화형 |
-help | 사용 방법 안내 메시지 출력 |
컨테이너 정지 및 삭제
컨테이너를 정지하는 커맨드 : docker stop (docker container stop)
- 컨테이너를 삭제하려면 컨테이너를 우선 정지 시켜야한다.
docker stop 컨테이너_이름
컨테이너를 삭제하는 커맨드 : docker rm (docker container rm)
- 정지 상태가 아닌 컨테이너 대상으로 실행하면 오류 발생후 삭제되지 않는다.
docker rm 컨테이너_이름
컨테이너 목록
컨테이너의 목록을 출력하는 메서드 : docekr ps(docker container ls)
- 현재 실행 중인 컨테이너의 목록을 출력
- docker ps -a 옵션을 추가하면 현재 존재하는 컨테이너의 목록 출력
컨테이너 목록 주요 항목
CONTAINER_ID | 컨테이너 식별자, 무작위 문자열 할당 |
IMAGE | 컨테이너를 만들때 사용한 이미지의 이름 |
COMMAND | 컨테이너 실행 시에 실행하도록 설정된 프로그램의 이름 |
CREATED | 컨테이너 생성 후 경과된 시간 |
STATUS | 컨테이너의 현재 상태. 실행 중이라면 UP/종료 상태라면 Exited |
PORTS | 컨테이너의 할당된 포트번호 “호스트 포트번호→컨테이너 포트번호” |
NAMES | 컨테이너 이름 |
이미지 삭제
- 컨테이너를 삭제후 이미지 삭제가 가능하다.
이미지 삭제 메서드 : docker image rm 커맨드
docker image rm [이미지_이름] [이미지_이름]
이미지 목록의 주요 항목
REPOSITORY | 이미지 이름 |
TAG | 버전 정보 |
IMAGE_ID | 이미지 식별자 |
CREATED | 이미지 생성 후 경과 시간 |
SIZE | 이미지의 전체 용량 |
도커 네트워크 생성
docker network create 네트워크_이름
컨테이너에서 리눅스 명령어 실행
docker exec -it 컨테이너_이름 bash
파일복사
- 파일 복사는 양방향 모두 가능하다.
- 컨테이너로 파일을 복사하는 커맨드 (호스트 → 컨테이너)
docker cp [호스트_경로] [컨테이너_이름]:[컨테이너_경로]
- 호스트로 파일을 복사하는 커맨드 (컨테이너 → 호스트)
docekr cp [컨테이너_이름]:[컨테이너경로] [호스트_경로]
EXAMPLE
- 아파치 이미지로 ‘apa000ex1’ 이라는 이름을 가진 컨테이너를 백그라운드로 생성 및 실행하라
docker run --name apa000ex1 -d httpd
- 컨테이너 확인 및 종료
docker ps
docker stop apa000ex1
- 컨테이너 삭제
docker rm apa000ex1
- 이미지 확인
docker image ls
728x90
반응형