♾️DevOps/Docker

도커 컴포즈란?! 시스템 구축에 필요한 설정을 YAML 포맷으로 기재한 정의 파일(Compose file)을 이용해 전체 시스템을 일괄 실행 또는 종료 및 삭제할 수 있는 도구. 정의 파일에는 컨테이너나 볼륨을 '어떠한 설정으로 만들지’에 대한 항목이 기재되어 있다. Dockerfile vs 도커 컴포즈 vs 쿠버네티스 Dockerfile은 이미지를 만드는 데 쓰이는 스크립트. 도커 컴포즈는 컨테이너, 네트워크, 볼륨을 만드는 데 쓰이는 스크립트 쿠버네티스는 컨테이너를 관리하는 도구 도커 컴포즈는 컨테이너를 생성하고 삭제하는 도구 (컨테이너 관리 X) 컴포즈 파일(YAML 형식) 작성법 첫 줄에 도커 컴포즈 version 기재 주 항목 services(컨테이너), networks(네트워크), volume..
Wordpress란?! CMS(Content Management System, 콘텐츠 관리 시스템) 중에서 가장 대표적인 플랫폼으로, 웹 사이트를 만들기 위한 소프트웨어라고 생각하면 된다. 나도 워드프레스를 사용해본 적은 없지만.. (사실 도커 공부하면서 처음 들어봤다ㅎ) 워드프레스 프로그램 외에도 아파치나 DB, PHP 런타임 등을 필요로 하기 때문에 무언가 구축 연습을 할 때에 많이 사용된다고 한다. 도커를 이용해 워드프레스를 구축할 때는 크게 3가지가 필요하다. 1️⃣ 네트워크 2️⃣ MySQL 컨테이너 (컨테이너가 아닌, 도커 외부에 두는 방식도 가능함.) 3️⃣ Wordpress 컨테이너 ※ Wordpress 공식 이미지에는 워드프레스 프로그램과 아파치, PHP 런타임이 함께 포함되어 있다!! ..
레지스트리 vs 리포지토리 vs 도커 허브 개념정리!! 레지스트리(Registry) 이미지를 배포하는 장소 공개일 수도, 비공개일 수도 주로 회사나 부서 혹은 개인 단위로 사용됨 리포지토리(Repository) registry를 구성하는 단위 주로 소프트웨어 단위로 사용됨 도커 허브 도커 제작사에서 운영하는 공식 도커 레지스트리 아파치, MySQL, 우분투 등의 공식 이미지가 있음 run 커맨드 사용하면 도커 허브에서 이미지를 내려받음 이미지 업로드하기 업로드하고자 하는 repository의 공개 여부에 상관 없이, 이미지를 업로드하려면 이미지에 태그를 부여해야 한다. 태그 로컬에서 사용하던 이름이 아닌, registry 주소, repository 이름과 버전 표기를 추가한 정식 명칭 레지스트리_주소(도..
Bash 🐣 shell : 리눅스에 명령을 전달해 주는 프로그램. 일반적으로 bash를 가장 많이 사용함. 도커 컨테이너 실행 시 bash를 실행하려면 별도로 /bin/bash 인자를 전달해야 한다. /bin/bash 인자는 2가지 커맨드와 함께 사용할 수 있다. 1) docker run docker run과 /bin/bash 인자를 사용하는 경우, 컨테이너에 들어있는 SW(e.g. Apache) 대신 bash가 실행되기 때문에 bash 조작 후 docker start로 컨테이너를 재시작해야 SW가 실행됨 실행 중인 컨테이너에는 사용 불가 docker run (옵션) 이미지_이름 /bin/bash [실습 - Apache 컨테이너] 1️⃣ docker run 커맨드를 이용해서 Apache 컨테이너 생성과 ..
같은 구성의 컨테이너를 여러 개 만들거나, 다른 컴퓨터나 서버로 컨테이너를 이동시켜야 하는 경우들이 있다. 이 때 컨테이너 자체를 그대로 복제할 수는 없기 때문에 컨테이너를 이미지로 변환한 후 추출해서 옮겨야 한다고 한다. 컨테이너를 이미지로 변환시키기 위해서는 commit 커맨드를 이용해야 하고, 컨테이너가 없는 상태에서 이미지를 만들기 위해서는 Dockerfile 스크립트를 이용해야 한다. commit 커맨드 컨테이너 -> 이미지 변환 기존 컨테이너를 복제하거나 이동해야 할 때 편리 docker commit 컨테이너_이름 새로운_이미지_이름 [실습해보기 - Apache] 1️⃣ 아파치 컨테이너 생성 docker run --name apa000ex22 -d -p 8092:80 httpd docker (..
스토리지 마운트 "마운트"는 연결한다는 뜻이다. 즉, 대상을 연결해 OS 또는 SW 관리하에 두는 것을 마운트 한다고 한다. 도커에서 컨테이너는 만들었다 삭제하는 일이 많기 때문에 데이터를 컨테이너 안에 보관하는 것은 옳지 않다. 따라서 컨테이너 외부에 데이터를 두고, 여기에 접근해서 사용하게 되는데 이러한 방식을 '데이터 퍼시스턴시 (data persistency)'라 하고, 이때 데이터를 두는 장소가 '마운트된 스토리지 영역'이 되는 것이다. 도커에는 스토리지 영역이 어디에 있는지에 따라 구분되는 2가지의 마운트 방식이 있다. 항목 볼륨 마운트 바인드 마운트 스토리지 영역 볼륨 (=스토리지의 한 영역을 분할한 것) ※ 볼륨은 미리 만들어두는 것이 좋다. 디렉터리 또는 파일 물리적 위치 도커 엔진의 관..
도커 정의 데이터 또는 프로그램을 격리시키는 기능을 제공하는 소프트웨어. 주로 서버에서 사용한다. 🤔격리가 필요한 이유?🤔 프로그램들끼리 다른 프로그램, 디렉터리, 라이브러리 등을 공유하다 보면 버전 등의 문제로 예상치 못한 오류가 발생하는 경우가 많다. 이를 방지하기 위해 도커 컨테이너를 사용하는 것이다. 한 대의 서버 혹은 컴퓨터라도 컨테이너는 완전히 독립된 환경이기 때문에 같은 프로그램을 여러개 실행할 수 있게 된다. 용어 정리 📌 컨테이너 조립형 창고 컨테이너를 다루는 기능을 제공하는 SW가 도커 하나의 도커에 여러 개의 컨테이너를 만들 수 있음 📌 도커 엔진 도커를 사용하기 위해 필요한, 도커 SW의 본체 도커 엔진을 사용해 컨테이너를 생성 및 구동 📌 이미지 컨테이너의 빵틀과 같은 역할 도커 ..
유댕둥당
'♾️DevOps/Docker' 카테고리의 글 목록