본문 바로가기
728x90
반응형

IT Security/Docker & Kubernetes8

[Docker & Kubernetes] 8. Docker 네트워크 1 - 기본 구조 이번 포스팅에서는 Docker 컨테이너가 어떻게 외부와 통신이 가능한지에 대해 알아보려한다. 지난 포스팅에서 기본적인 명령어 사용의 몇몇 예시 중, nginx와 같이 웹 서비스를 제공하는 컨테이너를 구동해 웹 브라우저에서 서비스가 잘 이루어지는 것을 확인해보기도 했다. nginx는 웹 서비스인만큼 기본 통신 포트가 80번으로 지정되어 있고, 필자는 이를 --publish라는 옵션을 통해 HostOS의 포트와 컨테이너 포트(80)을 맵핑하여 컨테이너를 구동했다. 그런데, 여기서 의문점이 하나 생긴다. nginx 컨테이너를 두 개 올렸다고 가정해보자. 두 컨테이너 모두 기본 포트인 80번을 서비스 포트로 사용한다. 1번 nginx는 HostOS의 8001번으로, 2번 nginx는 HostOS의 8002번으로.. 2022. 6. 1.
[Docker & Kubernetes] 7. Docker 매우 기본적인 명령어 사용법3 지난 두 개의 포스팅으로, Docker에서 가장 기본적으로 사용하는 명령어에 대해 알아보았다. 오늘은 기본 명령어에 대한 마지막 포스팅으로 docker 이미지 pull + 컨테이너 생성/구동을 한 번에 진행해주는 docker run 명령어와, 이미지를 Registry로 올리는 docker push 명령어에 대해 정리를 해보려 한다. 사실 지금까지 3개의 포스팅에서 작성한 내용은, docker를 사용하면 절대 사용하지 않을 일이 없는 명령어들이다. 지금까지의 명령어 외에도 추가로 알아봐야 할 명령어가 많지만, 그 내용을 모조리 포스팅으로 작성했다가 필자가 돌아버릴 수도 있기 때문에 중간중간 필요할 때마다 언급하면서 넘어가려 한다. 뻘소리를 조금 했다. 바로 시작해보자. 1. 이미지 Pull + 컨테이너 생.. 2022. 5. 25.
[Docker & Kubernetes] 6. Docker 매우 기본적인 명령어 사용법2 지난 포스팅에 이어, 계속 Docker의 기본 명령어 사용법에 대해 작성하려 한다. 지난 번에는 Docker 이미지를 공식 저장소에서 다운로드받고, 컨테이너 생성과 실행을 진행하며, 컨테이너와 이미지에 대한 모니터링 값이 어떻게 변하는지 확인해봤다. 이번 포스팅에서는 실행한 컨테이너의 중단, 재시작, 삭제, 이미지 삭제까지 진행해보려 한다. 1. 실행중인 컨테이너 중단 - docker stop {실행중인컨테이너이름 or ID} 지난 번 ubuntu 이미지를 컨테이너로 생성하고 실행할 때 컨테이너 이름을 ubuntu_test2로 지정한 것이 있다. 이제 필자는 구동중인 ubuntu_test2 컨테이너를 중단시킬 것이다. ubuntu_test2 컨테이너를 삭제하면, docker ps에서 나타난 2개의 컨테이.. 2022. 5. 24.
[Docker & Kubernetes] 5. Docker 매우 기본적인 명령어 사용법1 지난 포스팅에서 도커는 이미지를 기반으로 특정 환경을 동적으로 구현하는 컨테이너를 만들며, 이 이미지는 Dockerfile의 build로 형성할 수 있음을 알아보았다. 추가로 이미지를 Dockerfile로부터 build하는 과정에 들어가는 시간과 노력을 최소화하기 위해 Docker의 공식 Registry에서는 사용자들이 주로 사용하는 Docker 이미지를 제공하고 있다는 것까지 알아보았다. 이제 막 Docker 설치가 끝난 리눅스라면 컨테이너를 형성할 이미지가 없어 아무것도 구동을 할 수 없는 상태다. 따라서 이번 포스팅에서는 이 이미지들을 Registry에서 다운로드 받고, 컨테이너를 실행하고, 컨테이너 상태를 모니터링하고 다시 컨테이너와 이미지를 삭제하는, 기본적인 과정에 대해서만 다루어보려 한다. .. 2022. 5. 22.
[Docker & Kubernetes] 4. Docker의 동작 구조 이번 포스팅에서는 Docker라는 녀석이 어떤 구조를 가지고 있는지 알아보려한다. 도대체 dockerfile이라는 것은 무엇이기에 Docker Image(이미지)를 생성할 수 있는 것인지, 그리고 Docker Image는 무엇이기에 Docker Container를 생성하여 구동할 수 있는 것인지, 그리고 Docker Registry는 무엇인지, 그리고 앞서 설명한 이 요인들의 관계가 어떻게 되는지 하나씩 보려 한다. 새로운 시스템을 접하면, 그 시스템이 전체적으로 어떻게 구성되어 있는지 알고 있어야 세부적인 부분이 보인다. 따라서 필자는 Docker가 돌아가는 방식에 대해 큰 그림부터 먼저 제시하려 한다. 1. Docker의 구조 아래의 그림을 참고하자. 리눅스(필자는 CentOS에 docker를 설치했.. 2022. 5. 18.
[Docker & Kubernetes] 3. Linux에 Docker 패키지 설치하기 컨테이너를 사용하여 프로세스 격리 및 가상화를 테스트하기 위해, 필자의 테스트 리눅스에 Docker를 설치해보려 한다. 필자가 사용하는 리눅스는 CentOS 7.9 버전이며, VMWare에 최소 설치 프로그램만 사용하여 설치한 리눅스다. Django 등등 별의별 테스트를 진행하면서 이것저것 프로그램이 추가된 상태이긴 하지만 Docker 설치와 크게 연관은 없어 바로 진행하려 한다. 아래의 Docker 설치 절차를 따라하기 전, VM이나 물리 PC에 리눅스 설치를 진행해야한다. 필자가 이 내용은 따로 포스팅하지 않았지만, VM이나 PC에 리눅스를 설치하는 포스팅은 워낙 널리고 널려 있으니 검색한 포스팅으로 설치를 진행해주시면 된다. 1. Docker 설치 전 확인사항 Docker 역시 이 때까지 필자가 L.. 2022. 5. 8.
[Docker & Kubernetes] 2. 도대체 Kubernetes는 뭘 하는 녀석일까? 지난 포스팅에서 리눅스 컨테이너(LXC) 기술을 기반으로 동작하는 Docker 플랫폼의 탄생 배경과 기능에 대해 간략하게 알아보았다. 요점만 정리하자면, 하나의 서버에서 여러 어플리케이션(서비스)를 구동하기 위한 환경을 OS 수준의 가상화로 구현할 수 있는 기술인 LXC를 조금 더 쉽게 사용하도록 만들어 놓은 플랫폼이 Docker다. Docker와 함께 요즘 자주 볼 수 있는 단어로 Kubernetes(쿠버네티스)가 있다. Docker와 Kubernetes는 마치 바늘과 실처럼 한 쌍을 이루어 언급되는 경우가 거의 대부분이다. 그럼 여기서 의문이 생긴다. 도대체 Kubernetes는 무엇이며, Docker와의 관계는 어떻게 되는 것일까? 1. Kubernetes의 등장 배경 Docker를 사용하여 제공하.. 2022. 5. 8.
[Docker & Kubernetes] 1. 도대체 Docker는 뭘 하는 녀석일까? IT 관련 글을 상당히 오랜만에 쓰는 듯 하다. 기술과 연관없는 근황 관련 글(이라고 해봐야 2개 밖에 없다)을 제외하면 3월 10일이 마지막 기술 블로그 포스팅이었으니 무려 두 달 가까이 지난 시점이다. 다시 굳어져버린 손을 풀며 블로그 포스팅을 시작하려하는데, 이미 있는 주제들도 계획대로 못 끝낸 상태에서 조금 색다른 주제가 추가되었다. Docker와 Kubernetes. IT 업종에 종사하거나, 필자처럼 보안업계에 일했던 분들이라면 관련이 없더라도 한 번 이상은 지나가면서라도 들어본 단어들일 것이다. 최근에 클라우드 환경으로 기업 서비스가 많이 이전되면서 이 Docker와 Kubernetes 또한 수요가 증가하고 있다. 필자 역시 새로 옮긴 회사가 클라우드도 관여가 되어 있어서 출근 전부터 이들에 .. 2022. 5. 3.
728x90
반응형