데브옵스(DevOps) 13

이미지 레지스트리

1. 도커 이미지를 저장하기 위한 저장소이다.2. 이미지 레지스트리도 깃허브와 비슷한 형태이며 도커허브는 이미지를 저장하는 저장소이다.3. 이미지 공유(다운로드 업로드), 이미지 검색, 이미지 버전 관리, 보안, 파이프라인(이미지 업로드시 자동 배포 혹은 알림 등등) 이미지가 저장되는 공간1. 호스트 머신의 로컬 스토리지    1-1)  스토리지에 이미지가 없으면 온라인 레지스트리에서 이미지를 다운*온라인2. 프라이빗 레지스트리 (기업에서 주로 사용) (특정한 네트워크)3. 퍼블릭 레지스트리 (도커허브) (모든 네트워크) 이미지명 규칙레지스트리주소/프로젝트명/이미지명:이미지태그 1. 실무에서는 사내용 레지스트리가 있는 경우가 많다.2. 버전관리를 하는 경우가 대부분이라 이미지 네이밍 규칙을 잘 알면 좋다..

이미지와 컨테이너

1. 하드웨어2. 소프트웨어- 기본 시스템 파일- 언어, 라이브러리- 애플리케이션 실행 파일3. OS4. 특정 패키지 및 의존성 라이브러리5. Runtime --> Config 이미지1. 특정 시점의 파일 시스템을 저장한 압축 파일2. 윈도우의 백업파일과 비슷함3. 가상머신에서는 스냅샷을 제공함4. 컨테이너의 이미지는 압축파일의 사이즈가 아주 작음. 5. 인터넷에서 공유하고 저장하기가 수월함6. 다운받을 수도 있고 저장할 수도 있음.  도커를 사용한다는것1. 컨테이너 내에서 웹서버나 웹애플리케이션같은 소프트웨어를 운영하는것2.  호스트 OS에서 완전히 격리된 공간을 만들 수 있다.프로그램과 프로세스의 차이프로그램1. 실행 가능한 소프트웨어2. 디스크 공간 차지 프로세스1.  실행 상태의 소프트웨어2. 프..

가상화 기술 - 도커

도커란1. 커널의 컨테이너 가상화기술을 편리하게 사용하기위해 만들어진 소프트웨어2. 컨테이너 플랫폼3. 컨테이너 엔진(사용자 요청을 받아 컨테이너 관리) & 컨테이너 런타임(직접 커널과 통신하며 격리된 공간을 만듦)4.  클라이언트의 서버모델로 실행된다.  API는 상호간의 주고받는 약속된 데이터 양식 5. 도커는 클라이언트 서버모델로 실행된다.6. 클라이언트는 CLI, 서버는 도커 데몬으로 구성된다. 명령어 정리컨테이너 실행 - docker run (실행옵션) 이미지명 컨테이너 삭제 - docker rm 컨테이너명/ID

서버와 가상화 기술

서버란1. 서버라는 단어는 사용되는 문맥에 따라서 이해하면된다.2. 하드웨어 서버, 소프트웨어 서버 둘 다 있다.3. 일반적으로는 하드웨어에서 실행중인 소프트웨어라고 생각한다. 서버의 종류1. 파일 서버2. DB 서버3. 웹 서버 (html, js, css등을 다룸)4. 웹 애플리케이션 서버 (WAS) 서버 운영 방법1. 베어메탈 2. 하이퍼바이저3. 컨테이너 **=============== 가상화 기술 1. 물리적인 컴퓨팅 환경에서 논리적인 컴퓨팅 환경을 만들 수 있는 방법 (하나의 컴퓨터에서 여러개의 컴퓨터를 실행 시킬 수 있음)2. 여러 소프트웨어를 하나의 OS에서 운영하는것은 지양해야한다.3. 가상화 기술을 사용하면 한대의 컴퓨터에 여러 논리적인 OS환경을 만들 수 있고 리소스를 분배할 수 있다...

Github - 팀 단위 활용하기

-고전 방식직업 파일을 오프라인/온라인으로 전달하는 방식압축해서 전달하기메일로 보내기USB--------------------------------버전 관리 활용CVSSVNGit (기본) -협업 흐름 알아보기공동 개발공동 코드 저장소어떻게 코드를 합칠 것인가?원격 저장소 활용하기 - Github동료 리뷰를 통해서 개발을 진행한다. -이미 프로젝트가 있는 경우소스를 내려받기(Clone)개발하기버전 관리에 추가(Add)버전 관리에 커밋(Commit)원격 서버로 푸시(Push) psy -> clone -> branch -> 개발 -> add -> commit -> push -> pull request -신규 프로젝트인 경우프로젝트 생성깃 버전 관리 시작(Init)개발하기버전관리에 추가(Add)버전관리에 커밋(..

Github 저장소 생성

-Github 가입https:// github.com/어디서나 접속하여 버전 관리 저장소를 생성 및 관리할 수 있다.이메일로 가입 -저장소 생성신규 저장소 생성 유형    Private Repository (비공개)    Public Repository (공개) 신규 프로젝트 저장소를 생성 또는 기존의 Git 버전관리 프로젝트를 불러오기    Create repository (저장소 생성)    Import repository (저장소 불러오기) -저장소 파일 생성 또는 업로드Github에서 직접 파일을 생성 또는 업로드 가능하다. -저장소 복제Github의 프로젝트를 복제할 수 있다.Git의 Clone명령 -프로젝트 관리 -위키제공 -이슈 관리프로젝트를 진행하면서 발생하는 버그, 문제, 이슈, 할 일 ..

Github - Github이란 무엇인가

Github이란?버전관리와 협업을 위한 웹 기반의 플랫폼소프트웨어 개발 프로젝트를 호스팅하고 관리하는데 사용GitHub를 통해 소스 코드를 관리다른 개발자들과 협업하며, 프로젝트를 추적하고 관리 Github의 주요 기능과 개념1. 버전관리Git이라는 분산 버전 관리 시스템을 기반변경 내용을 효과적으로 추적하고 다양한 시점의 버전을 저장 2. 저장소프로젝트의 모든 파일과 폴더, 그리고 이력과 버전 정보를 포함하는 공간공개 저장소와 비공개 저장소 제공 3. 풀 리퀘스트다른 개발자가 소스 코드 변경을 제안특정 브랜치의 변경 사항을 병합하기 위해 보내는 요청코드 리뷰와 협업 4. 이슈프로젝트 관리를 위한 토론 공간버그 리포트새로운 기능 제안5. 브랜치저장소에서 독립적으로 개발이 가능하도록 하는 개념각각의 브랜치..

GIT - 실무 브랜치 전략

- 브랜치 전략의 종류****************1. Git Flow2. GitHub Flow3. GitLab Flow*****************4. Feature Branch Workflow5. Git-Flow Extension6. Trunk-Based Development7. Release Flow 1. Git Flow주요 브랜치    main (제품 출시 버전)    develop (다음 출시를 위한 통합 브랜치)보조 브랜치    feature (새 기능 개발)    release (출시를 준비하는 브랜치)    hotfix (긴급한 버그 수정)    2. GitHub Flow주요 브랜치    main (항상 배포 가능한 상태를 유지)브랜치 생성    기능 추가나 버그 수정을 위해 새로운 브랜..

GIT - 고급 명령어

-충돌해결 방법서로 다른 작업 공간에서같은 파일의 같은 라인을 변경하고, 머지(병합)하는 경우 발생 -충돌 발생    2개의 브랜치 만들기    2개의 브랜치에서 같은 라인 수정하기    첫번째 브랜치를 메인 브랜치에 머지    두번째 브랜치를 메인 브랜치에 머지 시도 -> 충돌 -충돌 해결하기    충돌된 라인을 원하는 라인으로 수정    add, commit -원격 저장소 관련 명령    git remote -v: 원격 저장소 보기    git clone "원격저장소 주소": 원격 저장소를 로컬에 복제하기    git remote add "원격저장소 별칭" "원격저장소 주소": 원격 저장소를 등록하기  -원격 저장소 업데이트 명령    git fetch: 원격 저장소 최신 내용을 받아오기(머지하지 않..