<단계>
[레벨 1] : 기본&입문 --> Docker를 사용해보자!
- Official Docker Hub에서 배포하는 docker image를 다운받아 container에 실행하여 사용
- docker run ... 의 아주 긴 한 줄 명령어로 container 실행
[레벨 1] : 장점
- Official로 배포되는 docker image를 쉽게 설치해서 사용 가능
- docker 명령어 몇 개만 익혀도 바로 사용 가능
[레벨 1] : 단점(진입 장벽)
- docker는 기본적으로 console 환경에서 실행/동작 하므로, linux shell 명령 치는데 익숙해야 함.
- User가 필요한 Service/App 의 배포 docker image를 잘 찾는 것이 관건
- User 나름의 docker container setting이 가능하지만, container 환경 배포는 못함
- 여러 옵션 적용을 위해 docker run 명령을 아주 길게 작성하게 됨 (Port forwarding, Volume 등 개념 필요)
[레벨 2] : 활용 --> docker 환경을 저장/백업하고 배포하자!
- docker 환경/서비스 를 직접 구성하여 docker image 형성
- docker commit 으로 container를 docker image로 형성
- docker save/load 로 image 저장/불러오기. docker image 배포 가능.
[레벨 2] : 장점
- User가 원하는 docker container 환경을 docker image로 만들어 배포/재사용 가능
- 사용하던 docker container 를 docker image로 저장해서 백업/재사용 가능
[레벨 2] : 단점
- Fixed 된 docker image 가 배포되므로, 다른 user가 임의로 image 를 수정하기 어려움
- 배포하는 image에 추가 작업이 들어간 경우, image 용량이 더 커짐.
[레벨 3] : 고급 --> docker 환경을 효율적으로 배포하자!
- docker build를 사용하면 레벨 2의 단점을 해결 가능
- docker build 명령을 통해 실시간으로 docker image를 만들고, container로 실행
- dockerfile을 작성하고, docker build 명령으로 docker image 생성.
[레벨 3] : 장점
- docker file 스크립트가 배포되고, 실시간으로 docker build 를 수행하여 docker image 생성.
- 배포된 docker file을 수정하여, 내가 원하는대로 docker image 수정/변경 가능
[레벨 3] : 단점
- 실시간으로 docker file을 parsing 하여 docker image를 build. (build 시간 소요)
- 특정 repository / package 에 접속이 안 되거나 사라면 apt install fail 이 되어, build error 발생
- image build 가 성공하도록 수정이 필요하므로, docker build 문법에 대한 이해 필요
[레벨 4] : 전문가 --> Cloud 를 배포/서비스 하는 현업에 필요한 기술
- 여러 docker container가 서로 연동하여 동작하도록 작성
- 여러 container가 서로 연동하여, Cloud Service 에 제공하기 위해 docker-swarm, k8s 등의 docker control 환경을 구성/배포 하는 작업
[레벨 4] : 장점
- 여러 가지 container가 서로 연동하여 동작하도록 docker image/container 구성 가능.
[레벨 4] : 단점
- 어려움.
<출처 1> https://www.clien.net/service/board/cm_nas/16698203
<출처 2>
댓글