반응형

DevOps/Docker 6

[Docker] docker-compose: 멀티 컨테이너를 손쉽게 배포하기

이전 포스팅에서 docker network를 이용하여 하나의 네트워크 안에 여러 개의 멀티 컨테이너를 배포하는 것을 실습해보았습니다. 그런데 만약 이전 포스팅처럼 2개의 컨테이너를 배포하는 것이 아니라 100개의 컨테이너를 배포해야 되는 상황이라면 어떨까요? 분명 도커를 사용함으로 인해서 많은 부분 배포가 간결해졌지만, 100개의 컨테이너를 손수 배포하는 것은 여전히 부담스럽습니다. 또한 중간에 오타가 나거나 실수를 하는 경우가 발생할 수 있고 다수의 인스턴스에 일관되게 배포하는 것에 어려움이 있을 수 있습니다. 이러한 문제를 해결하는 것이 바로 docker-compose입니다. docker-compose는 docker 프로그램을 정의하고 멀티 컨테이너를 손쉽게 배포할 수 있는 도구입니다. 컨테이너 하나..

DevOps/Docker 2020.07.08

[Docker] Docker Network를 이용하여 네트워크 공유하기

Docker Network란 실행된 각각의 컨테이너끼리 연결하기 위한 논리적인 네트워크입니다. 같은 네트워크 안에서는 각각의 컨테이너의 IP를 지정해주거나 할 필요 없이 name만으로 손쉽게 네트워크를 연결할 수 있다는 장점이 있습니다. 또한 아웃바운드 포트를 오픈하지 않는 이상 내부적으로만 통신하게 됩니다. 예를 들어 Node서버와 Redis서버가 통신을 하게 되는 아키텍처가 있다고 가정해보겠습니다. Node서버는 외부의 클라이언트로부터 api요청을 받게 되지만 redis는 node 서버와만 통신이 필요합니다. 이러한 경우 하나의 네트워크 안에 두개의 컨테이너를 배포하고 노드 서버만 포트포워딩을 해줌으로서 문제를 해결할 수 있습니다. ※ 예전에는 Docker Link를 사용해서 private IP끼리 ..

DevOps/Docker 2020.01.31

[Docker] Docker Tutorial (3) : 생성한 이미지 AWS에 배포하기

이번 포스팅에서는 docker hub에 직접 만든 이미지를 push 하고 aws에서 배포해보도록 하겠다. 하지만 그전에 해야 할 일이 있다. 이전 포스팅에서는 내부적으로 8080 포트에서 3000번 포트로 접근하여 로컬에서 컨테이너에 접근할 수 있었다. 하지만 그것은 어디까지나 테스트를 위한 설정이었고, 실제로 AWS에 배포를 한다는 것은 로컬에서만 접근할 수 있는 URI가 아닌, 어디에서든 접근할 수 있는 접근성이 필요하다. 그러기 위해 이 포스팅에서는 pm2를 이용하도록 하겠다. 그러기 위해서는 먼저 이전에 만들어주었던 컨테이너들과 이미지를 삭제하고 이미지를 새롭게 빌드해야한다. docker ps 명령어를 입력해보면 아까 -d (백그라운드로 컨테이너 생성 및 실행)으로 인한 3개의 컨테이너가 돌아가고..

DevOps/Docker 2019.12.09

[Docker] Docker Tutorial (2) : 직접 이미지 만들기

앞선 포스팅에서는 docker hub에서 이미지를 pull 하고 그 이미지를 이용해서 대략적인 사용방법에 관하여 알아보았다. 하지만 docker hub에서 이미지를 pull 하는 경우는 DB 이미지를 제외하면 거의 없다. 보통은 Dockerfile에 개인적인 이미지를 작성해서 사용한다. 이번 포스팅에서는 간단한 Node.js 서버를 만들고 직접 이미지를 만드는 것까지 진행해보도록 하겠다. sample project 생성하기 ※아래의 예시는 express가 설치 되어있다는 가정하에 진행되며 express로 만든 애플리케이션의 root로 접근하면 확인할 수 있는 "Welcome to Express"라는 메시지를 도커를 이용해 EC2에 배포하여 확인하는 것을 목표로 한다. // express로 프로젝트 생성 ..

DevOps/Docker 2019.12.09

[Docker] Docker Tutorial (1) : 기본적인 사용법

Docker 설치하기 --- Ubuntu sudo apt-get update sudo apt-get install docker.io # /usr/bin/docker.io 실행 파일을 /usr/local/bin/docker로 링크하여 사용 sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker MAC & WINDOW ※ Mac OS 기준으로 설명이 포스팅이 진행되지만 Window 운영체제라고 하여 크게 다르지 않습니다. 1. 이제 본격적으로 도커를 사용해보도록 하겠다. 아래 URI 접속해서 Please Login To Download 버튼을 클릭한다. https://hub.docker.com/editions/community/docker-ce-desktop-mac D..

DevOps/Docker 2019.12.08

[Docker] Docker의 개요

Docker란 무엇일까? 개발자라면 도커를 사용해보진 않았더라도 한 번쯤은 들어봤을 것이다. 많은 개발자들이 이미 도커를 사용하고 있고, 심지어 채용 우대사항에서도 Docker라는 이름을 심심치 않게 볼 수 있다. 대체 Docker란 무엇이기에 이렇게 많은 사람들이 열광하고 사용되고 있는 것일까? 이번 포스팅은 Docker의 간략한 역사와, 필요성, 그리고 그로 인해 달라진 우리의 개발환경에 관하여 이야기해보도록 하겠다. Docker의 역사 Docker는 2013년 3월 산타클라라에서 열린 Pycon에서 Solomon Hykes가 The future of Linux Ciontainers(리눅스 컨테이너의 미래)라는 제목으로 세션을 발표하면서 세상에 알려졌다. ※ 발표자료: Youtube 영상을 보면 So..

DevOps/Docker 2019.11.30
반응형