Steady Mind For My Life

https://github.com/jongseok3910/Spring-Study

728x90
728x90

Docker 6

도커 컴포즈

예를들어 mysql, nginx 등 여러컨테이너를 생성하려면 일일이 run~명령어를 작성해야한다.한 두개정도 컨테이너를 생성하는 거라면 상관이 없는데 만약 100개의 컨테이너를 생성해야 한다면?100개의 컨테이너를 run~명령어로 작성하려면 시간도 오래 걸리고, 번거로운 작업이 많기 때문에 개발에 온전히 집중할 수 없다. 여러개의 컨테이너를 생설 할 시 도커 컴포즈를 사용한다.도커 컴포즈 파일은 yaml(야믈)파일로 생성한다.야믈(YAML)이란?xml과 json과 같이 포맷에 대한 약속 텍스트구조로 되어있고해당 프로그래밍 언어의 라이브러리 포함시킬 수 있다. 야믈코드는 들여쓰기를 통해 계층을 나누며 공백 수로 블록을 구분한다. 그래서 공백 맞추기에 민감해야한다. 나도 yaml파일을 작성하고 나서 오류가 ..

Docker 2024.06.15

도커 - DockerFile을 이용한 이미지 생성 및 이미지 배포(commit, push)

원하는 개발환경을 코드로 구성하는 방법을 제공하는 것을 DockerFile이라고한다. 예를들어 나만의 서비스(프로젝트)는 고유한 환경을 가지고 있고 이 환경을 구축하여협업을 하고 싶다고 가정을 해보자. 다른사람들이 협업을 하기 위한 서비스 인프라 구성 시 사용자 실수 등의 인적 오류 발생 가능성이있고설치 순서와 상호 연관성 들을 고려하여 각종 라이브러리와 함께 복잡한 명령어를사용하기도 해야한다.또한 설치 이후 잘못된 설정이 있다면 수정도 해야하고, 재설치를 해야 할 경우도 발생한다. 만약 내가 이 모든 인프라 구성을 DockerFile로 만들고다른사람이 이 DockerFile만 다운받아 설치 한다면?다른 사람의 인프라 구성 실수, 오류 등 번거로운 작업들은 없어지고한번에 서비스 인프라 구축 완료 후 온전..

Docker 2024.06.08

도커 컨테이너 정리

컨테이너란? 컨테이너(Container)는 애플리케이션이 컴퓨팅 환경 간에 신속하고신뢰성 있게 실행될 수 있도록 코드와 그 모든 종속성 있는 것들을 패키징하는소프트웨어의 표준 단위. 도커 컨테이너 vs. 도커 이미지도커 이미지(Docker Image)는 컨테이너(Container)를 만드는 데 사용되는 읽기 전용 템플릿(Read-only templates)컨테이너(Docner Container)는 이러한 템플릿에서 생성된 배포된 인스턴스(Deployed Instances). 2024.05.22 - [분류 전체보기] - 도커 정리위 글을 참고해서 조금도 쉽게 이해해보자. 1. sudo docker run MyPj 입력(MyPj는 내가 만든 프로젝트를 image화 시킨것)로컬에서 MyPj를 찾아보고 없으면R..

Docker 2024.05.26

볼륨(volume)

예를 들어 도커에 Oracle이미지를 다운로드하여 설치했다.1. sudo docker run Oracle 그러면 Oracle 컨테이너가 생성된다.생성된 컨테이너에 데이터를 저장하다가Oracle 컨테이너를 삭제해버리면??데이터들도 모두 삭제된다. 컨테이너는 삭제되어도 데이터는 유지하고 싶을 경우 사용하는 것이 볼륨(Volume)이다.볼륨은 컨테이너 내부의 데이터를 외부로 링크를 걸어주는 기능이다.볼륨을 걸어준 데이터의 경우 컨테이너 내부에서 수정되는 즉시 볼륨이 걸려있는 외부 데이터도 같이 수정된다.그리고 그 데이터는 컨테이너가 삭제되어도 외부에 남게 된다. 볼륨 생성1. -v 명령어를 사용하여 컨테이너 생성과 동시에 볼륨을 만들었다. 명령어 설명/var/log 이하경로의 변경사항들에 대해 기록을 하며변경..

Docker 2024.05.24

도커 명령어 정리

기본설명-i: Bash에 명령을 입력한다. -t: Bash를 사용하려면 이옵션을 설정해야한다. 이 옵션을 설정하지 않으면 명령을 입력할 수 는 있지만,Shell이 표시되지 않는다.-d: 데몬 프로세스로 실행(백그라운드)해 프로세스가 끝나도 유지 컨테이너를 백그라운드에서 실행하고 컨테이너ID를 출력--name: 컨테이너 이름 지정 -p: 호스트와 컨테이너의 포트를 연결 -v: 호스트와 컨테이너의 디렉토리를 연결 도커사용 명령어df: 디스크 사용량 확인 docker run (컨테이너명): 이미지를 local에서 찾고 없으면 다운받은 후 시작, 접속까지 한번에 해준다.docker pull (컨테이너명 | 버전): 이미지를 repository에서 다운 받는다.docker images: 이미지 파일들 조회 do..

Docker 2024.05.24

도커 정리

도커란?도커는 컨테이너 기반의 오픈소스 가상화 플랫폼중 하나다.Docker를 사용하면 인프라에서 애플리케이션을 분리하여 컨테이너로 추상화시켜소프트웨어를 빠르게 제공 할 수 있다. 아래 아키텍쳐 그림과 함께 쉽게 알아보자. [아키텍쳐] 예를 들어 내가 스프링 프로젝트를 만든다고 생각해 보자.그러면 서버, db설치, 라이브러리 등 프로젝트에 필요한 것들을 직접 설치를 해야한다.그리고 필요한 경우 설정까지 직접해줘야한다.(ex: exe파일다운로드 설치, linux명령어로 직접 다운) 그러나 도커를 사용하면 위와 같은 번거로운 작업이 쉽게 끝난다. 아키텍처 그림을 아주 간단히 설명을 하자면1. 도커 설치 후 docker run mysql 이라는 명령어를 입력한다.2. 도커 호스트에서 mysql이 있는지 확인 하..

Docker 2024.05.22
728x90
728x90