Docker Basic-1 Engine & 명령어 활용 2#

2020. 10. 16. 10:49DevOps/Docker

학습의 바탕으로 포스팅하였기에 부족한 점이나 피드백 있을 시 제보바람

 시작하기에 앞서 필자는 앞으로 다양한 OS로(그래봐야 macos, ubuntu) 그리고 AWS나 GCP를 통해 포스팅을 할 예정이며 포스팅을 보면서 같이 공부할 분들은 자기 편한걸로 하면 될 것 이다. (모든 곳에서 docker명령어는 변경없음) 그러므로 이 포스팅에서는 간단한 활용이기에 MacOS 카탈리나로 할 것이다. 

 

우리는 전 시간에 도커가 무엇인지 그리고 도커를 설치하는 방법을 알아보았다.

이제부터는 도커를 어떻게 활용해야되느지 그리고 기초적인 명령어를 통해 도커의 컨테이너에 대해 알아보려고 한다.

현세대 최고의 트렌드 MicroService 컨테이너 기술의 표준! 도커는 애플리케이션에 국한 되지 않고 의존성 및 파일 시스템까지 패키징하여 빌, 배포, 실행을 단순화한다. 어떻게 하냐; 도커는 다양한 클라우드 서비스 모델과 같이 사용이 가능해서인데 첫째 컨테이너 기술과 패키징되어있는 이미지 쉐어링 때문이다.  무엇보다 도커 핵심 아키텍처인 도커 엔진 덕분인데 일단 아래 그림을 한번 보자 

https://www.docker.com/products/container-runtime

도커 엔진 기능에는 분배, 오케스트레이션, 볼륨(저장 디스크), 컨테이너, 빌드킷, 네트워크 등 존재한다. 즉 도커 CLI를 통해 도커 API로 전달해서 도커엔진이 가동한다는 것이다. 여기서 오케스트레이션 부분은 사실상 소규모 프로젝트 한해서 가능한 것이지 대규모 플랫폼 프로젝트의 경우 관리를 한다 하더라도 일단 구조상 쉽지 않은 형태이다.(소규모 도커, 대규모 쿠버네티스 이용 권장하고 있다.) 그리고 하나 더 언급해야될 것이 있다. 구독하시는 분들 중에 회사에서 도커 엔터프라이즈 용 쓰는 곳도 있을 것이다. 결론부터 말하면 구조 살짝 틀리다. 유의하고 도커 레퍼런스를 참고하길 바란다. 이제 앞으로 명령어를 통해 실습을 해나아 갈것인데 꼭 도커엔진의 기능들과 명령어의 상관관계에 대해서 유의하며 학습하길 바란다. 

 

어떤 엔진이든 어떤 OS든 젤 중요한 명령어, 시작할때나 모를때 쓰는 명령어 

 

docker help 에 대해 먼저 살펴 보겟다. 

 

위 그림을 보면 네파트로 나눠져 있다.  첫파트에는 구문 사용 방법이 나오고 두번째 옵션, 세번째 파트 관리 명령어가 나온다. (마지막-네번째 파트는 밑에 설명되어있음)

세번째 파트 어디서 많이 본거 같지 않나? 그렇다! 위위 그림에서 도커엔진 기능들이다. 아직 필자가 설명하지 못한 Swarm 기타 등등 나오긴 하나 나중에 세밀하게 들여다 보겟다. 그래도 대충은 파악하자 아래 사진을 보면 대충 짐작간다. 

 

https://medium.com/@rahulwadekar/docker-management-commands-a36a3784045

많다 너무너무 많다 하지만 저기서 다 배울 필요 없다. 그래도 간단히 설명하자면 파랑색 계열과 빨강색 계열(image와 context가 있는데 필자의 경우 컨텍스트는 써보지 않았다.)은 컨테이너와 이미지를 다룰 때 굉장히 많이 쓴다. 그리고 주황색 계열은 Docker swarm 파트이다. 그래서 지금은 딱히 쓸일 없으니 미리 걱정은 하지말자. 보라 계열은 빌더 설정이랑 키값설정 네트워크 설정 세가지가 있는데 나중엔 중요하니 지금은 설명안하겟다. (큰그림만 잡고 아 도커 명령어가 이런식으로 구성이 되어있구나 정도만 알자.) 

 

이제 도커 명령어 구조에 대해서 어느 정도 알았으니 본격적으로 하나하나 뜯어 보겟다. 보통 우리가 제일 자주 쓰는게 파랑색 계열 Container파트이다. (도커가 컨테이너 담당하는 거라 당연한 것) 

즉 아까 docker help친 부분의 마지막 파트이다. (제일 기본) 한번 살펴 보자 

많다 그렇다고 전부다 쓰는게 아니고 다 쓰더라도 파트별 나눠서 쓰다보면 금방 익히게 된다. (사실 옵션 쓰기가 힘들뿐이지 자체 명령어는 그렇게 어렵지 않다. - 필자기준) 이번 파트에서 각자 명령어마다 help 입력하면서 한번씩 전체적으로 파악하길 바라며 아래 사이트에서 간단하게 잘 기재되어있으니 한번 참고하길 바란다.

 

medium.com/@rahulwadekar/docker-management-commands-a36a3784045 

 

Docker Management Commands

Docker management commands for quick reference.

medium.com

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

 

Docker run reference

 

docs.docker.com

다음 포스팅에서 저기 명령어 중에 자주 쓰는 명령어와 핵심 명령어에 대해서 설명하겟다. 

 

'DevOps > Docker' 카테고리의 다른 글

Docker의 기초 1#  (0) 2020.10.14