Docker

[Docker] Docker Compose를 알아보자

형냐들 나만 불편해? 두 번째 형냐들이다. 사실 불편한 것들이 많기 때문이다. Docker의 용도 Docker를 어떤 때에 사용한다고 했는가? Docker의 핵심 기술인 Container를 사용하고자 할 때일 것이다. 즉, 재사용을 위함이다. 앞서 배운 Dockerfile은 컨테이너를 만드는데에 필요한 많은 부분을 자동화하였다. 그러나 Dockerfile에도 단점이 있다. 이전 포스팅에서도 다루었듯, Host OS의 설정을 자동화 하는데 제한이 있다는 부분이었다. 예를 들어 Host OS의 포트포워딩이나, Volume의 Path를 마운팅하는 것까지 미치진 못하였다. 결국 많은 개발자들은 Dockerfile을 만들고, build를 통해 만들어진 컨테이너를 서로 연결하고,

Read more →

July 21, 2022

[Docker] Docker Storage에 대해 알아보자: Volume vs Bind Mount

Docker Storage이번 챕터에서는 Docker Storage에 대해 짚고 넘어갈 것이다. Storage는 이름에서 느껴지는 것처럼 단순히 저장공간을 의미하지만, 컨테이너를 사용한다면, 기존에 사용하는 것보다는 조금 더 어렵게 느껴질 수 있다. 이는 개발에 있어 Storage라는 녀석이 굉장히 중요한 부분이며, 아직 굉장히 많은 사람이 컨테이너 기반 개발 환경 보다, Host OS기반 local 개발 환경을 채택하는 이유이기도 하다. 혹자는 실제 배포되는 서버에서만 dockerize를 하는 것이 좋다는 사람도 있으나, 필자는 local 개발환경에도 Docker를 적용했을 때, 그 진가를 볼 수 있다고 생각한다.

Read more →

July 15, 2022

[Docker] Dockerfile을 알아보자.

😡 형냐들.. 나만 불편해? 앞서서 Docker의 CLI를 잠깐 맛보았다면, 컨테이너를 생성하고, 만드는 일이 굉장히 불편한 일이라는 것을 알 수 있다. 나는 편하게 하고 싶어서 컨테이너를 만들때마다 수많은 커맨드를 입력해야한다. 사실 그것보다 더 큰 문제가 있다면, 이미지로 빌드하는 순간, 용량이 무지막지하게 커질 수 있다는 사실이다. 엄청 크진 않겠지만, 적어도 100MB부터, 1~2GB가 넘어가는 것까지 다양하다. 수많은 컨테이너를 관리하는 회사라면, 이런 사항은 더욱 재앙처럼 다가올 수 있다. 용량이야 그렇다 쳐도, 이미지를 전달하고, 이걸 내려받는데 걸리는 시간만 굉장히 오랜 시간이 걸리게 될 것이다.

Read more →

July 13, 2022

[Docker] Docker 시작하기 create, exec, start, run, commit

Docker 시작이제 도커의 개념을 하나하나 확인해보면서 Docker를 시작해보도록 하자 Docker 설치 링크 를 따라 들어가 자신의 운영체제에 맞는 Docker를 설치하자 Docker 이미지 가져오기 Docker를 실행하기 위해서 Docker Hub에서 제공하는 많은 이미지를 사용해볼 수 있다. 시험삼아 Python 이미지를 살펴보자 ▲ Docker Hub에서 python을 검색한 모습 터미널을 열고 docker pull python을 입력하면 최신의 파이썬 이미지를 받을 수 있다. 만약 자신의 서비스가 특정 버전의 파이썬을 요구할 경우 태그를 찾아 특정 버전의 파이썬을 설치할 수도 있다.

Read more →

July 12, 2022

[Docker] Docker에 대해 알아보기

Docker는 뭐야? AWS 의 정의를 빌리자면 Docker는 어플리케이션을 신속하게 구축, 테스트, 배포할 수 있는 소프트웨어 플랫폼이다. Docker는 컨테이너라는 개념을 사용하여 기존의 무거운 운영체제, 가상머신 등에서 돌아가는 어플리케이션을 경량화하여, 여러 문제점을 해결하고 있다. 최근에는 Docker가 로컬뿐 아니라, 다양한 클라우드 환경에서도 활용되고 있다. 일례로 AWS에서도 Docker 이미지를 활용하여 배포할 수 있으며, Github Actions에서도 Docker를 설치하여 배포 자동화, 간단한 배포와 같은 작업을 수행하도록 할 수 있다. Docker는 무슨 문제를 해결하는가? 개발환경을 설치하면서 본인의 개발환경을 설치하다보면 여러 문제를 마주친다.

Read more →

July 11, 2022