본문 바로가기

Linux

(10)
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를 이용해 테스트) 문제상황 리눅스를 쓰면서 sudo apt-get install sudo apt install curl url wget url make filename 등등 다양한 방법을 통해 package를 install 해왔다. 하지만, 무분별하게 닥치는 대로 install 해나가다보니 python 과 pip 버전이 꼬이게 되었고, 어떤 pip가 어떤 version의 python을 가리키게 되는지, virtual env가 설정이 되어있느지 등등 아무것도 모른 채 그냥 사용하다가 오류가 나게되었다. 그래서 요즘 배운 기술인 Docker를 이용해서 독립적인 가상환경을 구축하여 한 번 python 과 pip에 대해 디렉토리가 어떻게 설정되어있는지, 설치는 어떻게 해야하는지 정리해보았다. 여러가지 방법 존재 virtual e..
리눅스에서 파이썬 삭제 후 GUI 이용 불가한 오류 문제상황 sudo apt-get remove python sudo apt-get purge python sudo apt remove python sudo apt-get remove python3 sudo apt-get purge python3 sudo apt remove python3 등의 명령어로 python을 삭제했더니 GUI를 이용할 수 없게 되어버렸다. 해결책 https://askubuntu.com/questions/810854/i-deleted-package-python3-on-ubuntu-and-i-have-lost-dashboard-terminal-and-un를 참고하자. sudo apt-get install python3-all sudo apt-get install gnome-termina..
[Kubernetes] Unable to start VM: create: precreate: VirtualBox is configured with multiple host-only adapters... sudo 없이 minikube 이용하기, kubernetes VirutalBox 에러 에러코드💣 Unable to start VM: create: precreate: VirtualBox is configured with multiple host-only adapters with the same IP "192.168.99.1". Please remove one 😿 Sorry that minikube crashed. If this was unexpected, we would love to hear from you: 에러 상황sudo 없이 minikube command를 이용하고 싶은 상황chown을 통해 파일 소유 및 권한을 바꾸면, sudo 없이 command가 실행은 되지만, VirtualBox 에러가 나는 상황. 해결법 요약우선 sudo 없이 명령어를 실행하고 싶은 경우 sudo cho..
[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를 실행시키는데 ..