도커: 개선된 가상머신
일반적인 운영체제 가상머신이 아닌 소프트웨어 가상 머신. 운영체제 전체를 가상화시키는게 아니라 사용할 소프트웨어만 가상화시키 때문에 훨씬 빠르게 작동한다. 도커를 통해 어느 컴퓨터에서나 일관적인 버전과 설정의 소프트웨어를 사용할 수 있다.
컨테이너: 가상화에 필요한 만큼만의 컴퓨터의 프로세스를 격리해 놓은 것. 이미지를 넣어 돌린다.
이미지: 특정 소프트웨어 실행 환경 (필수 파일들, 설정 등을 포함)
볼륨: 컨테이어에서 생성되는 파일들과 사용하는 파일들을 모아놓은 곳
직접 이미지 만들기: 도커 파일 - 빌드 -> 이미지
비주얼 스튜디오 코드 - 도커 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 |