본문 바로가기

개념 정리

[개념 정리] 도커

도커: 개선된 가상머신

일반적인 운영체제 가상머신이 아닌 소프트웨어 가상 머신. 운영체제 전체를 가상화시키는게 아니라 사용할 소프트웨어만 가상화시키 때문에 훨씬 빠르게 작동한다. 도커를 통해 어느 컴퓨터에서나 일관적인 버전과 설정의 소프트웨어를 사용할 수 있다. 

 

컨테이너: 가상화에 필요한 만큼만의 컴퓨터의 프로세스를 격리해 놓은 것. 이미지를 넣어 돌린다.

이미지: 특정 소프트웨어 실행 환경 (필수 파일들, 설정 등을 포함)

볼륨: 컨테이어에서 생성되는 파일들과 사용하는 파일들을 모아놓은 곳


직접 이미지 만들기: 도커 파일 - 빌드 -> 이미지

비주얼 스튜디오 코드 - 도커 extension 설치

// 이름이 Dockerfile인 새 파일 만들기
// 파이썬 도커 파일
FROM ubuntu:latest

RUN apt update
RUN apt install python3 -y

WORKDIR /usr/app/src // 리눅스의 기본 폴더 구조를 미리 알아야 한다

COPY print.py ./

CMD ["python3","./print.py"] // cmd에서 python3 ./print.py 를 쓰는 것과도 같다

 

// 노드 자바스크립트 도커 파일
FROM node:alpine // 도커 허브에서 베이스 이미지로 쓸 이미지 가져오기
COPY . /app // 현재 폴더의 모든 파일들을 새로운 app폴더로 복사
WORKDIR /app // cd /app
CMD node app.js

 

docker build -t [만들 이미지 이름] [만든 이미지를 넣을 폴더 경로] // 도커 파일이 있는 폴더 위치에서
docker images // 이미지가 만들어졌는지 확인
docker run [만든 이미지 이름]

 


명령어

https://docs.docker.com/engine/reference/run/

 

docker search [찾으려는 이미지 이름]

docker pull [이미지 이름] 또는 docker pull [이미지 이름]:[특정 버전]

docker images - 가져온 이미지들 확인

docker rmi [삭제할 이미지 id]

 

docker run [실행할 이미지 이름]

docker run -it ubuntu - ubuntu와 같이 상호작용이 필요한 소프트웨어일 때(interactive), 컨테이너 바로 접속

docker run --name [만들 컨테이너 이름] [실행할 이미지 이름]:[특정 버전] [실행할 파일]

docker start [시작할 컨테이너 이름]

docker attach [접속할 컨테이너 이름]

 

docker ps - 실행 중인 컨테이너 확인

docker ps -a - 모든 컨테이너 확인(all)

 

docker exec [실행중인 컨테이너 id] [명령어]

 

docker stop [중지할 컨테이너 id]

docker kill [강제 중지할 컨테이너 id]

docker rm [삭제할 컨테이너 id] 

 

 

'개념 정리' 카테고리의 다른 글

[개념 정리] 깃랩 CI/CD  (0) 2022.06.09
[개념 정리] 메이븐  (0) 2022.06.08
[개념 정리] Microsoft  (0) 2022.06.06
[개념 정리] 구글  (0) 2022.06.06
[개념 정리] 자바스크립트  (0) 2022.06.06