
프로젝트 너트침대 구성도 이제는 조원들과 기타를 가르쳐줘~ 헤엘프 친구들을 위해 기본적으로 해야 할 개발 환경 구축에 대해 경험을 바탕으로 작성하고 기록해본다.

- 오늘의 목표
- A) 도커 Docker 설치하고 로그인, 세팅 B) 우분투 설치, 윈도우와 우분투 리눅스 멀티 부트 세팅 C) influxDB+Grafana 연동과 사용법 습득 추가로 Azure 클라우드 서버 세팅까지 언급해 본다.
- 이번 포스팅에서는 도커 Docker라는 독립된 가상 실행 환경에 대한 기본적인 개념과 명령어를 통한 사용법, 기본 세팅을 통해 개발 환경에 필요한 기초적인 구축을 다뤄나갈 것이다.
- Docker란 무엇인가
Docker는 가상머신과 같이 실행하는 환경을 독립적으로 만드는 것인데, 종래에는 Windows에서 VMWare와 같은 가상머신을 설치하여 무겁고 번거롭고 설치시간도 길었다면 도커를 사용하여 Linux 계열에서 개발환경을 빠르고 가볍게 구축할 수 있어 많이 이용하고 있다.
설치 또한 도커 엔진과 데스크톱만 설치하면 가상 실행 환경인 컨테이너에서 손쉽게 우분투를 설치하면 되고 모듈을 쓰듯 DB와 대시보드까지 한꺼번에 구축돼 매우 편리하다.실제로 컴퓨터를 포맷하고 윈도우 대신 우투를 설치하거나 무겁고 시간이 많이 걸리는 가상머신을 사용하지 않아 설치 용량도 적지만 그에 비해 효과는 운영체제를 새로 설치한 것처럼 좋아 추천한다.
도커 컨테이너는 일종의 소프트웨어에서 실행에 필요한 모든 것까지를 감싸고 마치 하나의 집합처럼 파일 시스템 안에 코드, 런타임, 시스템 도구, 시스템 라이브러리, 서버에 필요한 운영체제 등 모든 것을 포함하는데, 어떤 실행환경을 사용해도 도커만 설치되어 있으면 똑같이 실행시켜 편리하게 사용할 수 있다.
2) 도커를 써야하는 이유는?도커는 하나의 구성으로 모든 플랫폼에서 다른 환경에 맞게 사용할 수 있게 해준다.도커 안에 받는 파일을 도커 이미지라고 부르는데, 인플럭스 DVD나 그래파나, 운영체제 등 모두 도커라는 실행환경에 받을 경우 도커 이미지를 다운로드한다고 표현한다.
구성이 매우 단순하고 일관성 있는 환경을 제공하며, 개발이나 코딩에 있어서도 훨씬 동일한 상태의 실행 환경이기 때문에 코드 관리가 매우 편하다는 장점이 있다.
개발 환경을 운영 환경과 거의 같은 수준까지 복제할 수 있다.VM(가상머신)은 메모리 용량이 너무 커서 운영체제를 하나 설치하는 데 하루 종일 걸리지만 도커를 사용하면 메모리도 적어 컨테이너 내에서 코드를 실행시킬 수 있고 자신이 만들어 놓은 도커 환경 속에 플랫폼이나 편집기를 구축해 놓으면 오직 어떤 장치든 도커만 설치해 로그인 후 편집할 수 있어 협업에도 최고다.
애플리케이션 관리에도 매우 좋지만 연결된 웹서버와 API서버를 컨테이너를 독립적으로 만들어 격리시킬 수 있기 때문이다.
배포도 컨테이너 자체에서 설치해 놓은 OS(운영체제)를 부팅하지 않고도 애플리케이션을 실행시킬 수 있어 빠르고 편리하게 만들 수 있으며 배포까지 걸리는 시간도 상당히 짧다.
3. 이미지와 컨테이너의 개념을 이해하는 아래는 Docker의 공식 홈페이지이다.여기서 클라이언트와 서버, 이미지와 컨테이너에 대한 개념이 도식화되어 설명되고 있는데 한번쯤 구글 번역을 돌리는 일이라도 해서 읽어보는 것이 도움이 될 것이다.
간단하게 풀어서 내 언어로 설명해볼게.
우선 도커는 크게 클라이언트와 서버로 구성돼 있다.
①Client=Dockerbuild/pull/run 명령을 기억할 때 표시되는 것이다.도커 클라이언트에서 pull은 파일을 끌어와 저장하는 것을 말하며 run은 읽는 것(설치)을 말한다.그 밖에도 빌드라는 것이 있는데, 이러한 클라이언트의 명령을 통해 도커를 사용할 수 있다. 사용법(도커와 말하는 법)으로 보자.
②Server=Dockerd도, 카드는 서버, 즉 스토리지라고 생각하면 된다.큰 저장고 안에 컨테이너라는 방을 만들어 이것저것 설치하고, 어디서나 접속하여 쓰고 편집하여 저장할 수 있다.팀프에서 많은 도움이 되니까 잘 이해해두자.
③Images(도커 이미지) 위에서 말했듯이 도커 이미지는 livs, package 템플릿과 읽기 전용 등 파일이나 설치되는 것, 저장되는 아이템으로 보면 된다.여기에는 우분투가 있을 수도 있고, 그래파나 대쉬보드와 데이터베이스를 연동시키는 등의 마치 모듈 같은 것이 있을 수도 있다.
④container(컨테이너) 이미지가 설치돼 메모리에 로드된 인스턴스를 쉽게 말해 그냥 방이다. 컨테이너로 지은 창고를 떠올려보자.어떤 컨테이너 하우스에는 우분투라는 것을 입주시켜 놓고 그 옆 컨테이너에는 윈도우와 DB 같은 것을 입주시켜 놓는 등 컨테이너별로 나눠 충돌하지 않도록 우리가 명령어를 통해 자주 입주시켜주는 것이다.
4. 설치한다!얼마 전까지만 해도 윈도홈에서 도커 데스크톱이 설치됐지만 최근 해보니 홈은 지원이 끊겨 WSL인지 질랄인지 아무튼 이상한 우회를 하고 복잡하게 다운로드하라고 해서 포기했다.
윈도우는 가능하면 pro 혹은 설치하지 말고 외장하드나 32기가 이상의 usb 등을 가져와 멀티기동을 시켜주자.나는 ssd를 외장으로 연결하고 창이 설치된 컴퓨터든 라즈베리 파이든 어딘가에 꽂기만 하면 우분투 운영체제가 켜지도록 세팅했다.
우선 설치 전에 리눅스 커널 3.10 버전 이상인지 확인해야 하는데 그동안 신경 쓰기가 귀찮다면 아예 우분투를 설치해 버리자.
- 설치할 기기의 준비나 SSD를 외장으로 준비했다.도커 말고도 크롬이나 이것저것 깔아서 사용하기 때문에 용량이 클수록 좋다
- 2) Ubuntu Linux 설치의 최신 버전 20.04.3을 설치하였다.Ubuntu is an open source software operating system that runs from the desktop, to the cloud, to all your internet connected things.ubuntu.com위의 링크에서 인스톨 한 뒤 아래의 링크에서 인스톨 방법을 하나하나 더듬으면 좋지만 설치 후 업데이트도 하고 체험판 대신 Ubuntu설치를 클릭하고 비밀 번호와 사용자나 설정, 지역 서울에 설정하고 아무것도 설치하지 않고 진행 완료하면 한글 키 패드의 세팅도 해야 하며 업데이트도 해야 하며 돗카ー 설치 후 리부트도 하고 등 재기동을 약 3~5회 정도 해야 한다.각오해 두자.Ubuntuisanopensourcesoftwareoperating system thatruns fromthedesktop, to the cloud, toallyourinternetconnectedthings.ubuntu.com
3) 업데이트, http://t. 패키지를 설치하는 우분투 리눅스가 자주 부팅되고 한글 키패드도 잘 설치되면 이제 터미널을 연다. 컨트롤+알토+T를 누르면 터미널이 바로 뿅 생성된다.앞에 있는 $표시는 그냥 프롬포트가 떨어지는 곳을 표시하려고 적어놓은 것이다.바로 직후부터 입력하면 된다. 가능하면 권한 오류가 나지 않게 앞에 sudo를 꼭 붙이자.sudo는 처음 사용할 때 비밀번호를 내라고 하니 설치 시 설정한 비밀번호를 입력하면 된다.비밀번호 입력시 원래 표시되지 않음. 그대로 입력하고 엔터를 누르면 된다. update와 upgrade는 항상 무언가를 다운로드하려고 할 때 먼저 해놓고 시작하는 것이 좋다.
4) gpg 키, 저장소 추가 저장소와 키를 추가한다.
5) 도커 엔진 설치(방법1) docker는 커뮤니티 에디션과 엔터프라이즈 에디션이 있지만 vscode 설치 때처럼 커뮤니티 에디션이 무료판이다. 우리는 ce버전(무료버전) 다운받자. 어차피 이것만 깔아도 기능한다.
일단 웹에서 스크립트를 받아서 간단하게 설치하자.
6)도커 엔진 설치(방법2) 이것이 효과가 없을 것 같으면 아래 링크에서 pool/stable 폴더 내에 amd64를 다운로드하면 된다.Indexofli눅스/ubuntu/dists/../artful/bionic/cosmic/disco/eoan/focal/groovy/hirsute/impish/jammy/trusty/xenial/yakkety/zesty/download.comdpkg 명령을 사용해.deb 파일을 설치한다.근데 이것도 안 먹으면 그냥 구글링해.회사에 가서 구글링 못하면 업무는 아무것도 할 수 없어.입력했을 때 오류가 나면 오류 복사해서 구글에 검색하면 된다.진짜 쉬운 건데 맨날 안 된다고 샷건 치고 똑똑 오빠~ 저 눈 안 봐요~ 이러는데 그러지 마.
7) 설치되어 있는지 확인한다, 이렇게 쓰면 이렇게 뜨면서 버전이 나오는데 잘 설치된 것이다.
- 이대로 했는데도 안되고 구글도 짜증나고 귀찮으면 아래 링크 보면서 직접 깔아라. 나도 쓸수록 적었다.Instructions for installing Docker Engine on Ubuntudocs.docker.com
- 8) 컨테이너를 실행하려면 컨테이너를 하나 만들어 컨테이너를 실행시켜 보자. –rm 옵션은 이것이 테스트용이기 때문에 실행한 후 바로 삭제하는 옵션을 붙인 것이다.다행이다 이제 도커 아이디 만들자.https://www.docker.com/LearnhowAtomistwillhelpDockermeetthechallengeofsecuringsecuresoftwaresupplychainsfordevelopmentteams.www.docker.com 여기서 오른쪽 상단 겟스타트 왼쪽에 signin을 눌러 아이디와 비밀번호를 잘 기억해 두었다가 로그인하면 된다.
- 9) 터미널에서 도커로그인하기 [ID] <여기에 아까 회원가입한 도커ID를 쓰면 된다.([ ] 이것도 빼라–꼭 쓰는 인간이 있다) 이메일 ル@gmail.com..이렇게 처음부터 끝까지 다 쓰지 말고 도커 홈페이지에 로그인했을 때 지문과 같은 아이콘 옆에 표시되는 이름을 쓰면 된다.
- 그러면 비밀번호를 쓰라고 password: 이렇게 뜨는데 거기에 도커로그인 할 때 만든 비밀번호를 그대로 써서 엔터 치면 된다.역시 비밀번호니까 뭘 써도 안 나오니까 끊겼다고 하지 말자.
- 이런 식으로 워닝!! 이지럴로 로그인 접속도 나오지만 워닝은 무시하면 된다. 로그인 됐다며 끝~
5. 마지막으로 다음 번 예고, 이번에는 도커가 무엇을 하는지 알아보고 설치도 하고 로그인도 했다.게다가 우분투도 깔았다.이번에는 여기에 db와 dash보드를 개편하는 이미지를 pull(임포트)한 뒤 influxDB를 이용해 데이터베이스를 열심히 만들어 그래파나 대시보드에 깔끔하게 올려보자.
왼쪽부터 순서대로 그래파나 서버킨 터미널, 그래파나에 시계열 데이터베이스 그래프로 그려지는 것을 실시간, DB 입력하는 터미널
그런 다음 대시보드에서 긁고 ifram 코드로 웹 서버를 구축해서 띄우자.화이팅!!