본문 바로가기

Linux/Docker

(7)
Docker가 REST API를 이용함을 확인해보자 "Docker가 REST API를 이용한다는 글은 많이 봤는데, 솔직히 난 잘 이해가 안돼. 사실인지 알아보고싶어!" 시작하며 docker machine과 docker swarm 등에 대해 공부하던 중 우연히 다시금 docker의 구조에 대해 다시 생각해볼 시간을 갖게 되었고, 이에 저번 글에서는 docker가 server-client 구조를 갖는다는 점을 이용해 client가 원격으로 docker을 이용할 수 있다는 내용을 알아보았습니다. 이번엔 docker의 server와 client가 REST API를 이용해 통신한다는 내용에 대해 알아보겠습니다. 구글에 docker rest api나 docker remote api 라는 키워드로 검색하면 몇 가지 글이 나오긴하지만, 이해를 명확히 돕는 눈에 보이는..
docker daemon 설정을 이용해 원격으로 docker 이용하기 시작하며 (이건 스킵하셔도됩니다. 거의 일기장 수준...) docker client와 docker daemon이 같은 machine에 존재하지 않더라도 docker client를 통해 원격으로 docker를 이용할 수 있다는 내용의 글입니다. 이 글을 읽으시는 분들은 docker에 대한 어느 정도 개념이 있다는 전제하에 글을 적습니다. Docker를 처음 접했던 건 2019년 봄. 경희대학교는 특이하게 데이터센터 프로그래밍이라는 과목을 통해 Docker와 Kubernetes 를 배울 기회가 주어집니다.(데이터센터 프로그래밍 소개 영상) 당시 컨테이너 관련한 내용은 전무했던 제게 Docker는 너무 재미있는 기술이었습니다. 하지만 많이 어려웠던 것도 사실이었습니다. Docker, Container을 비롯해..
Docker 를 이용해 가장 간단하게 다양한 가상환경에서 작업하기 Intro Docker 가 보통은 Image를 이용해 소프트웨어를 배포할 때 많이 쓰이는 것 같긴 하지만, 본연 그대로를 다시 생각해보면 Docker 는 OS 를 가상화시켜주는 소프트웨어이기 때문에, 어떤 독립적인 작업공간이 필요할 때 Docker를 이용하는 것도 의외로 간편하고 재미있어요. 예를 들어 내가 단순히 Python 프로그램을 새로운 방식으로 시도하고 있다면 그냥 한 프로젝트 디렉토리를 만들어서 이용하거나 Virtual Environment를 이용하면 되겠지만, Nginx 나 Apache, Vim 설정 등 얕은 깊이에서 노는 것이 아니라, 사용자나 OS와 관련된 작업을 한다면. 내 원래의 환경에서 작업하기 조금 부담스럽죠. 혹은 강의 영상을 찍거나 블로그에 글을 올리기 위한 Demo 를 위해서..
Dockerfile의 CMD와 ENTRYPOINT 차이. docker-compose.yml의 command 인트로 Docker를 처음 배우면서 Dockerfile을 작성할 때 CMD 와 ENTRYPOINT의 차이점을 잘 몰랐다. 사실은 Entry가 참가자 명단 뭐 그런 뜻이라는데 나는 뭔가 입구같은 느낌을 받아서, Container의 Working Directory를 지정하는 WORKDIR과 혼동을 했다. 그래서 학교 시험문제도 틀렸었다. 근데 이번에 아는 분의 README.md를 읽어보다가 docker-compose.yml의 command 와 관련해서도 한 번 개념을 집고 넘어가면 좋을 것 같아 정리해본다. 간단하게 봤을 때 CMD 와 ENTRYPOINT의 차이 ( Dockerfile에서 ) 공통점은 우선 CMD 와 ENTRYPOINT 모두 해당 Dockerfile을 이용해 생성된 Image를 바탕으로 Co..
[Docker] Docker 시작하기. 예제를 하나 만들고 실행해보자 Docker과 무엇을 의미하는지, container와 image의 개념은 무엇인지에 대한 기본 내용은 이전 글에서 다루었으니 docker가 뭔지 모르시겠는 분들은 그 글을 참고하시고 이 글은 code를 base로 진행할게요. Docker을 시작하시는 분들은 기본적인 리눅스 명령어, pip 을 이용한 설치, 삭제 과정은 아시리라 가정하고 설명할게요. ▼ 이전 글 [Docker] Docker 시작하기. Docker란? Docker와 Container의 개념에 대하여 ● 흐름 1. app.py라는 이름으로 테스트해볼 프로그램을 작성한다. ( 필요한 python modules는 install 한다 ) 2. app.py가 잘 작동되는지 확인한다. 3. pip uninstall 을 통해 app.py를 실행시키는데 ..
[Docker] Docker 시작하기. Docker란? Docker와 Container의 개념에 대하여 ● Docker란 무엇인가 가장 짧게 요약을 하자면가상의 환경에서 미리 정해져있는 필요한 프로그램들의 리스트를 통째로 설치하고 실행한 뒤 가상의 환경을 종료시킴으로써 내 컴퓨터는 깔끔하게 아무 영향을 받지 않도록 해주는 녀석입니다. Docker에서는 크게 세 가지 개념이 필요해요. Image, Docker engine, Container image 는 가상환경에 대한 설정과 설치해야할 Dependencies( 어떤 패키지의 dependency라는 건, 그 패키지를 실행하기 위해 필요한 패키지 목록을 말합니다. ), 수행할 작업등을 적어놓은 설정이고 docker build라는 명령어를 통해 생성할 수 있어요.docker engine는 image를 통해 container라는 실행 객체를 생성하고 실행해요.c..
클라우드 컴퓨팅이란? with 데이터센터 기본적으로 아래 세 가지의 개념은 서로 관련이 깊은 것 같다.* Cloud Computing* Datacenter* Virtualization ( 가상화 ) 특히나 Cloud Computing 과 Data Center는 서로 떼어놓을 수 없는 것이Cloud Computing을 통해 우리가 자유자재로 사용할 수 있는 컴퓨터를 모아 놓은 곳이자 우리의 데이터를 보관하는 컴퓨터를 모아 놓은 곳이 Data Center이기 때문이다.Data center의 쉬운 예로는 정확하진 않지만 영화 속에 나오는 컴퓨터 본체처럼 생기진 않았는데 본체같기도 한 서버실 같은 장면을 떠올리면 된다.( Youtube에 data center라는 키워드로 검색하면 나오는 영상. 구글의 데이터 센터를 영상에 담은 것 같은데, 수업 때 흥..