Backend/Docker

Backend/Docker

[Docker] 실행 중인 컨테이너 내부에 접속하기

docker exec -it [container id or name] [환경 or 명령어]-i: 표준 입력을 계속해서 유지-t: 가상 터미널을 할당. 이를 통해 컨테이너 내부에서 상호작용할 수 있다.환경: 보통 bash나 (bash가 없는 경우) sh 환경을 사용명령어: 해당 컨테이너에서 실행할 명령어docker exec -it my_container bashdocker exec -it my_container ls -al /var/www

Backend/Docker

[Docker] 생성, 삭제, 조회, 로그 출력 등 자주 쓰이는 도커 명령어 모음

Image다운로드docker pull [image명]:[tag명]dockerhub에 올라와 있는 이미지를 다운받는 명령어tag명: image의 버전을 구분하기 위해 설정한 값. 같은 이미지라도 버전에 따라 여러 태그가 있다. 태그 안붙이면 자동으로 최신 버전의 이미지가 다운로드 됨 조회docker image ls 삭제docker image rm (-f) [image명]-f : 특정 컨테이너에서 사용하고 있는 이미지일지라도 강제로 삭제해준다. (단 중지되어있는 컨테이너여야 함. 실행 중이면 삭제 안됨)만약 같은 이름을 가진 이미지가 여러 개일 경우 image명:tag명 을 정확히 기입하거나 이름 대신 image id 값을 사용하는게 더 안전하다. +) 사용되지 않는 이미지 전부 삭제docker image ..

Backend/Docker

[Docker] Docker를 활용해 NginX 설치 및 실행

1. NginX image 다운로드docker pull nginx 다운받은 이미지 확인docker image ls 이미지 설치docker run --name webserver -d -p 8080:80 nginx--name [컨테이너 이름] : 컨테이너 이름을 webserver로 설정-d : 백그라운드 실행-p [호스트 포트]:[컨테이너 포트] : 호스트의 8080 포트를 컨테이너의 80번 포트에 매핑nginx : 사용할 이미지요상한 키가 나오면서 완료. 2. 로컬 호스트 확인인터넷 프라우저에 localhost:8080을 쳐보면 아래와 같이 nginx 페이지가 뜸더보기사실 원래 강의에서는docker run --name webserver -d -p 80:80 nginx라고 했는데, 이렇게 하니까 localh..

Backend/Docker

[Docker] MAC 환경에서 Docker 설치하기

설치 파일 다운로드⬇️ 도커 공식 홈페이지 Get Started | DockerGet started with Docker Desktop and join millions of developers in faster, more secure app development using containers and beyond.www.docker.com 메인화면에서 바로 다운받을 수 있다.인텔맥이냐 애플 실리콘 맥이냐에 따라 파일이 다르니 참고!! 설치 다운로드가 완료되면 dmg 파일을 실행해서 드래그 앤 드랍accept 클릭recommend 대로 finish 그러면 이렇게 로그인/가입 할 수 있는 창이 뜨는 데 편한대로 해준다. 난 Github 계정이랑 연동함.몇가지 설문조사를 마치면 설치 완료!+) 터미널 연동우측 ..

Backend/Docker

클라우드(Cloud), IaaS, PaaS, SaaS, 온프레미스

클라우드란?전 세계에 분산된 서버 네트워크를 통해 컴퓨팅 리소스를 이용할 수 있는 IT 환경클라우드를 이용하면, 인터넷을 통해 언제 어디서나 필요한 데이터, 애플리케이션, 컴퓨팅 리소스에 접속할 수 있다.클라우드 VS 클라우드 컴퓨팅 VS 클라우드 서비스클라우드 컴퓨팅(Cloud Computing): 클라우드를 이용하여 컴퓨팅 자원을 사용하는 기술적인 방법. 이는 서버, 스토리지, 네트워크 등의 자원을 가상화하여 사용자에게 제공하며, 필요에 따라 이를 확장하거나 축소할 수 있다.클라우드 서비스(Cloud Service): 클라우드 컴퓨팅을 기반으로 제공되는 서비스. 이는 다양한 형태로 제공될 수 있으며, 대표적으로는 SaaS(Software as a Service, 소프트웨어 기반 서비스), PaaS(P..

Backend/Docker

[Kubernetes] Kubernetes (K8s)란?

컨테이너 오케스트레이션 컨테이너의 배포, 관리, 확장, 네트워킹을 자동화하는 것. 재설계할 필요 없이 각기 다른 환경 전반에 동일한 애플리케이션을 배포하는 데에도 도움이 된다. Kubernetes 쿠버네티스는 컨테이너화된 애플리케이션의 자동 디플로이, 스케일링 등을 제공하는 관리시스템으로, 오픈소스 플랫폼이다. 쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 쉽게 확장할 수 있다. 쿠버네티스는 또한 크고, 빠르게 성장하는 생태계를 가지고 있다. 쿠버네티스 서비스, 기술 지원 및 도구는 어디서나 쉽게 이용할 수 있다. 기본 개념 쿠버네티스에서 가장 중요한 것은 desired state 라는 개념이다. 쉽게 말해 사용자가 원하는 서비스, 네트워크 상태를 의미 한다. 얼마나 많은 컨..

Backend/Docker

Container와 VM 비교

컨테이너와 가상머신 비교요약가상 머신(VM)은 서버 하드웨어를 가상화(또는 직접 관리할 필요성을 제거)하는 반면, 컨테이너는 서버의 운영 체제를 가상화한다. Docker는 컨테이너를 위한 운영 체제(또는 런타임)이다. 컨테이너를 실행하려는 각 서버에 Docker Engine이 설치되어 컨테이너를 구축, 시작 또는 중단하는 데 사용할 수 있는 간단한 명령 세트를 제공한다. 가상머신Host: 가상 시스템 호스트 서버이며 처리 능력, 메모리, 디스크 및 네트워크 I/O 등과 같은 컴퓨팅 리소스를 제공하는 기본 하드웨어.GuestOS: 운영 체제 및 애플리케이션 소프트웨어의 완전히 별개의 독립적 인스턴스. 호스트 VM에 상주하고 해당 서버의 컴퓨팅 리소스에서 공유하는 가상 워크로드.Hypervisor: 가상화 ..

Backend/Docker

[Docker] Docker란? 도커 스웜, 도커 컴포즈

Docker 란?리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트.Docker는 컨테이너를 위한 운영 체제(또는 런타임)이다. 컨테이너를 실행하려는 각 서버에 Docker Engine이 설치되어 컨테이너를 구축, 시작 또는 중단하는 데 사용할 수 있는 간단한 명령 세트를 제공한다.구조도커는 클라이언트-서버 아키텍처를 사용한다. Docker 클라이언트는 Docker 데몬과 REST API를 사용하여 UNIX 소켓 또는 네트워크 인터페이스를 통해 통신한다. Docker 데몬은 Docker 컨테이너를 빌드, 실행 및 배포하는 무거운 작업을 수행한다.도커 데몬Docker API 요청을 수신하고 이미지, 컨테이너, 네트워크 및 볼륨과 같은 Docker 개체를..

Backend/Docker

[Docker] container, Image

Container란?하나의 컴퓨터 환경 내에서 독립적인 컴퓨터 환경을 구성해서 각 환경에 프로그램을 별도로 설치할 수 있게 만든 개념.여러 대의 컨테이터(작은 컴퓨터)를 포함하고 있는 컴퓨터를 호스트(Host) 컴퓨터라고 한다. 컨테이너마다 각각의 IP, Port 번호를 가지고 있다. 컨테이너와 통신 과정쉽게 비유하자면 이렇다.(모든 상황에 적용되지 않음. 본인도 아직 공부 중이라 틀릴 수 있음. 걍 진짜 대충 이해를 돕는 정도로만 봐주기...🥹)우리가 가지고 있는 호스트 컴퓨터를 호텔, 컨테이너를 호텔의 객실이라고 생각해보자. 호텔은 주소(호스트의 ip 주소)를 가지고 있고, 각 객실도 호수(컨테이너의 ip 주소라고 치자. 진짜 컨테이너의 ip 주소 값은 할당 방식에 따라 호스트 ip와 같은 값을 쓰..