Docker

2023. 10. 31. 03:01Study/beginner

320x100
320x100

도커 : 컨테이너를 만들고, 실행하고, 배포할 수 있는 가상화 플랫폼

도커의 컨테이너 : 가상의 환경이 구축되어 있는 하나의 박스

새로운 운영체제 환경을 구축할 필요 없이 하나의 분리된 프로세스처럼 작동하여 가벼움

특정한 환경을 구성하기 위해 만들어진 가상의 공간

 

  • docker image : 도커 컨테이너의 전 단계

- 컨테이너를 생성하고 실행하기 위한 모든 것을 포함한다

ex) 컨테이너 생성에 필요한 파일, 환경변수, 명령어, 파일 시스템 등등

- 자신만의 이미지를 만들거나 다른 사람이 만든 이미지를 사용할 수도 있음

- 이미지 생성 => dockerfile 작성&빌드 ... dockerfile:이미지를 생성하는데 단계적으로 필요한 명령을 작성하는 파일- tag : 태그를 붙이는 것은 하나의 이미지에 여러 개의 별명을 붙여주는 것과 같다. 주로 이미지의 버전을 지정하기 위해 사용

 

  • docker container : 도커 이미지로부터 만들어진 실행 가능한 인스턴스

- 실행 중인 이미지 == 컨테이너

- 도커 이미지와 사용자가 컨테이너를 시작할 때 작성하는 옵션에 의해 정의된다

- 컨테이너를 실행하는 동안은 분리된 파일 시스템을 사용

 

  • docker registry : 도커 이미지를 저장하는 저장소

Docker Hub Container Image Library | App Containerization

 

 

  • 도커를 쓰는 이유

- 가상 환경 구축의 많은 부분을 생략하고 가볍게 실행되어, 매우 간편하게 문제 환경을 재현한다

- 문제 환경과 거의 동일한 환경을 제공하여 문제 풀이에 방해가 되는 요소를 줄인다

- 문제가 각각 분리된 환경에 있는 것처럼 제공하여 공격 과정에서 다른 문제에 영향을 미치거나, 출제자가 의도하지 않은 공격이 수행되는 것을 막음

 

  • 도커 명령어

docker | Docker Docs

 

docker build : dockerfile을 이용하여 이미지 생성

docker build [옵션] [Dockerfile 경로]
docker build -t [이미지명:태그] [Dockerfile 경로]
# -t : 이미지의 이름과 태그를 지정
#태그를 작성하지 않을 경우 'latest'로 지정

docker build .  #현재 디렉토리에 있는 dockerfile로 이미지 생성
docker build -t my -image .  #현재 디렉토리에 있는 dockerfile로 'my-image:latest'이미지 생성

 

docker images : 도커 이미지 목록을 출력

docker run : 도커 이미지로 컨테이너를 생성하고 실행

docker run [옵션] [이미지명|ID] [명령어]
docker run -p [호스트 PORT]:[컨테이너 PORT] [이미지명|ID]
# -p : 도커 컨테이너의 포트와 호스트의 포트를 매핑, 컨테이너에서 리슨하고 있는 포트를 호스트의 특정 포트로 접속할 수 있도록 함

docker run -it [이미지명|ID] [명령어]
# -it : 컨테이너에서 bash셸 사용
# -i (--interactive) : 표준 입력을 활성화하여 사용자가 명령어를 입력할 수 있도록
# -t (--tty) : 가상 터미널(tty)을 사용할 수 있도록

docker run -it my-image:1 /bin/bash : my -image:1  #이미지로 컨테이너를 생성하고 실행하여 bash 셸 열기

 

docker ps : 실행 중인 컨테이너 목록을 출력

docker ps -a
# -a : 종료된 컨테이너까지 모두 출력

 

docker create : 도커 이미지로 컨테이너를 생성

docker create [옵션] [이미지명|ID] [명령어]

 

docker start : 중단된 컨테이너를 시작

docker start [옵션] [컨테이너명|ID]

 

docker exec : 실행중인 컨테이너에 접속하여 명령 수행

docker exec [옵션] [컨테이너명|ID] [명령어]
#docker run과 유사하게 -it 옵션으로 bash 셸을 실행할 수 있음

docker exec -it [컨테이너명|ID] /bin/bash
#실행중인 컨테이너에서 bash 셸 열기

 

docker stop : 실행중인 컨테이너를 중단

docker stop [옵션] [컨테이너명|ID]

 

docker pull : 레지스트리(docker hub)에 존재하는 도커 이미지를 다운받음

docker pull [옵션] [이미지명]

docker pull ubuntu:18.04
#docker hub에서 ubuntu:18.04 이미지를 다운

 

docker rm : 도커 컨테이너를 삭제

docker rm [옵션] [컨테이너명|ID]

 

docker rmi : 도커 이미지를 삭제

docker rmi [옵션] [이미지명|ID]

 

docker inspect : 도커 이미지 혹은 컨테이너의 자세한 정보를 출력한다

docker inspect [옵션] [이미지 혹은 컨테이너명|ID]
320x100
320x100

'Study > beginner' 카테고리의 다른 글

SSH  (1) 2023.10.31
nc(netcat)  (0) 2023.10.30
linux 사용법 (3)  (0) 2023.10.13
linux 사용법 (2)  (0) 2023.10.12
linux 사용법 (1)  (0) 2023.10.12