에러 : “yaml: line 3: found character that cannot start any token” docker compose 파일을 실행시킬려고하니 에러가 하나 뜬다. 해석이 뭔가 완전히 되지는 않는데 파일을 실행시킬 수 없게 만드는 문자가 yml파일안에 있다는 뉘앙스로 해석이된다. 그래서 처음에는 뭔가 오타가 있었나 싶어서 찾...
Docker Practice - 도커 컴포즈 커맨드 파일 우선순위 테스트
도커 컴포즈 파일이 여러개 있다면 무엇을 먼저 실행할까? 아니면 모두 실행될까? docker compose 파일은 docker compose up 이라는 커맨드로 실행가능하다. 그런데 여러개의 docker compsoe 파일이 여러 경로에 나누어져 있다면 docker compose up 커맨드는 무엇을 먼저 실행시킬까? 이 의문을 갖게된건 특정 디...
Docker Practice - 도커 설치 및 테스트
실습은 Centos7이 설치된 GCP 인스턴스로 진행하며 root 계정을 사용합니다. 라이브러리 설치 도커와 도커 컴포즈를 설치한다. 도커 컴포즈는 yum으로 설치하면 구버전이 설치되기 때문에 직접 도커 깃허브에서 최신 버전을 다운 받는다. # docker 설치 yum install -y yum-utils yum-config-manager \ ...
Kubernetes - 컨테이너 오케스트레이션(Container Orchestration)
컨테이너 이전의 시대 서버 관리는 언제나 어려운 과제 중에 하나였습니다. 어떤 장애가 발생할지 어떻게 해야 서버가 문제없지 잘 돌아갈 수 있을지 그리고 이것들이 도대체 언제 일어날지 예측불가능한 변수들이 워낙 많았기 때문입니다. 그래서 서버 관리자들은 항상 더 편하게 그리고 더 효율적이게 서버를 운영할 수 있는 방안에 대한 욕구가 많았습니다. 문서...
Docker - 도커는 프로세스인가?
도커관련 자료들을 찾다가 재밌는 블로그 글을 하나 발견했습니다. 도커는 프로세스인가에 대한 이야기가 적힌 블로그 였는데 내용이 꽤나 재밌습니다. 이전 포스팅에서 도커를 정의할 때 컨테이너 기반의 가상화 플랫폼이라고 했었습니다. 그래서 저도 가상머신과 컨테이너는 분명히 다른 구조를 가지고 있지만 같은 가상화의 일종이라는 점을 생각해보면 컨테이너도 결국...
이코테 Ch.8 그래프 이론(Graph Theory) (2)
신장 트리(Spanning Tree) 신장 트리란 하나의 그래프가 있을 때 모든 노드를 포함하면서 사이클이 존재하지 않는 부분 그래프를 의미한다. 이때 모든 노드가 포함되어 서로 연결되면서 사이클이 존재하지 않는 다는 조건은 트리의 성립 조건이기도 하다. 신장 트리가 아닌 부분 그래프 예시를 보면 1번 노드가 포함되지 않았고 467번 노드에서 ...
Trouble Shooting - ERROR Version in "./docker-compose.yml" is unsupported.
docker-compose 커맨드를 실행시키려는 중에 에러가 하나 발생했다. 에러메세지를 읽어보면 docker-compose의 version 문제인듯하다. 해당 문제를 해결하기 위해 기존 docker-compose 버전을 삭제하고 최신 버전을 설치해주자. 최신 버전은 도커의 깃허브에서 받아 올 수 있다. # docker-compose 삭제 yu...
Docker - 왜 도커는 이렇게 인기가 많을까?
도커가 인기가 많다는 건 부정할 수 없습니다. 그런데 제가 궁금한건 신기술도 아닌데 왜 사람들이 도커에 열광했을까하는 부분입니다. 도커가 처음 등장한 2013년에도 이미 컨테이너 기술은 존재했었습니다. 심지어 도커도 기존에 있던 컨테이너 기술 중 하나인 LXC를 기반으로 만든 것에 불과합니다. 그럼에도 도커는 엄청난 인기를 얻었습니다. 이제는 개발자의...
Docker - 도커란?
도커는 개발자라면 적어도 한번쯤은 들어봤을 법한 기술 중 하나입니다. 많은 사람들이 도커를 사용하고 있다는 사실은 더이상 특별한 이야기가 아니며, 취업공고에도 도커와 같은 컨테이너 기반 기술에 대한 경험이 명시되어 있을 정도로 말입니다. 특히나 요즘은 대부분의 인프라가 클라우드로 옮겨가면서 쿠버네티스 기반으로 이루어진 마이크로서비스 아키텍처(MSA)들...
Terraform practice - 변수(Variables) 사용
이전 포스팅에서는 하드코딩된 값을 사용했지만 테라폼은 변수를 사용하여 보다 구성을 다이나믹하고 유연하게 만들 수 있다. 입력(Input) 변수 정의 테라폼은 작업하고 있는 디렉토리에 있는 모든 tf파일을 로드하기 때문에 원하는 대로 구성파일의 이름을 정해줄 수 있다. 따라서 learn-terraform-gcp 디렉토리에 변수에 대해 정의할 var...