반응형
Docker
왜 도커를 사용해야 할까요?
- 컨테이너
- 애플리케이션을 환경에 구애받지 않고 실행하는 기술
- 서버마다 다른 운영기록
- a서버는 잘 되는데 b서버는 왜 죽지? 같은일을 했는데?
- 눈송이서버
- 눈송이서버에서 애플리케이션이 죽으면 굉장히 많은 가능성을 따져야 한다
- tmux를 사용해서 다양한 서버에 동시에 명령어를 전달하기도 한다
- Docker file
- 도커 파일을 빌드하면 도커 이미지를 만들어 준다
- 도커이미지 : 명령어들을 모두 실행한 결과물
- 도커 이미지는 명령어 시행 시점까지 저장한다
- 1년사이에 스크립트의 내용이 바뀔 수도 있다. 그러나 도커 이미지를 만들어두면 1년전 도커이미지를 그대로 사용할 수 있다
- 서버를 코드화 한다
- 견고함
- 유연성
- 서버를 소프트웨어 사용하듯
- 다른사람의 도커이미지 실행해 보기 쉽다
- 확장성
- 사용자가 많이 몰려서 서버가 더 필요하면 도커 이미지를 더 실행하면 된다
Get Started & Develop with Docker
- 도커 아키텍쳐
- 클라이언트 - 서버 아키텍처
- Docker Client - Docker daemon
- Docker daemon (
dockerd
)- 이미지, 컨테이너, 네트워크 및 볼륨과 같은 도커 객체를 관리
- 다른 데몬과 통신하기도
- Docker client (
docker
)docker run
- client는 dockerd에게 커맨드를 보낸다
- Docker registry
- docker 이미지 저장
- DockerHub
- 모든 사용자가 사용할 수 있는 공용 레지스트리
- 기본적으로 docker는 dockerhub에서 이미지를 검색
docker pull
,docker run
docker push
- 필요한 이미지를 레지스트리에서 pull해서 사용후 push
- Docker 객체들
- 이미지
- 읽기 전용 템플릿
- 이미지가 다른 이미지를 기반으로 하는 경우가 많다
- 컨테이너
- 실행 가능한 이미지 인스턴스
- 이미지
docker run -i -t ubuntu /bin/bash
docker pull ubuntu
를 실행한것 같이 ubuntu iamge를 도커가 가져와 준다docker container create
를 실행한 것과 같이 도커가 새 container을 생성해준다- docker는 마지막 계층으로 읽기-쓰기 파일을 할당
- 네트워크 인터페이스 생성
- 컨테이너를 시작하고 실행한다
- exit
- /bin/bash를 중지시킨다
- 시작, 제거도 가능
반응형
'Backend' 카테고리의 다른 글
spring boot 에서 etag 설정하기 (0) | 2021.11.29 |
---|---|
docker quick start 따라해보기 (0) | 2020.06.07 |
kotlin으로 java springboot 프로젝트 리팩토링 하기 2 (0) | 2020.04.19 |
kotlin으로 java springboot 프로젝트 리팩토링 하기 (0) | 2020.04.11 |
👩🏻💻신입사원의 레거시 코드 뽀개기 (1) | 2020.04.03 |