도커 데스크탑 설치하기 1. 설치 과정 2. 테스트 1. 설치 과정 https://with-rl.tistory.com/m/entry/Windows%EC%97%90-Docker-Desktop-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0 이 글을 따라 진행했다. Windows PowerShell 실행 wsl --install 명령어로 WSL2 설치 윈도우 재시작 wsl -l -v로 버전 확인 Docker Desktop 설치 https://docs.docker.com/desktop/install/windows-install/ 링크에 들어가 설치 파일을 다운 문어와 고래 거북이 등이 있는 귀여운 창에 Accept 버튼 클릭 로그인 후 세부 질의는 Skip 설치 완료 2. 테스트 도커 허브에..
Backend/Docker
도커의 장단점 1. 도커의 구조와 성질 2. 도커의 장점 3. 도커의 단점 4. 도커의 주 용도 1. 도커의 구조와 성질 환경을 격리할 수 있다. 독립된 환경은 여러 개의 컨테이너를 띄울 수 있고, 같은 애플리케이션 여러 개도 가능하다. 이 중 일부만 교체하거나 수정이 가능하다. 또, 이미지를 직접 만들고 배포가 가능하고, 교체와 업데이터가 쉬워 이동성이 좋다. 컨테이너에 커널을 포함하지 않으므로 가볍다. 2. 도커의 장점 한 대의 물리 서버에 여러 대의 서버를 띄울 수 있다. 격리된 환경을 제공하므로 안전하게 실행할 수 있다. 물리 서버의 운영체제에 의존하므로 가상화 기술에 비하면 가볍다는 장점이 있다. 서버 관리가 용이하다. 소프트웨어가 격리되어 있어 업테이트가 간단하다. 컨테이너 교체나 수정이 쉬워..
도커 컨테이너의 생애주기와 데이터 저장 1. 도커 컨테이너의 생애주기 2. 데이터 저장 1. 도커 컨테이너의 생애주기 도커 컨테이너는 일회용품에 가깝다. 새로운 버전을 적용할 때 컨테이너를 업데이트 하는 것 보다 새로운 컨테이너를 생성하는 것이 좋다. 컨테이너의 주요 생애주기는 실행 - 정지 - 파기 3가지 상태가 있다. 실행 : docker container run 명령어의 인자로 지정된 도커 이미지를 기반으로 컨테이너가 생성된다. 정지 : 실행 중인 컨테이너를 정지할 수 있다. 사용자가 명시적으로 정지할 수도 있고, 프로그램이 종료된 경우 자동으로 정지 상태가 된다. 파기 : 정지 상태의 컨테이너는 파기하지 않는 이상 디스크에 남아있다. 용량을 차지하므로 불필요한 컨테이너는 완전히 삭제해야 한다. 이..
도커 허브와 이미지, 컨테이너 1. 이미지와 컨테이너 2. 도커 허브 1. 이미지와 컨테이너 이미지는 컨테이너를 만드는 빵틀로 컨테이너의 설계도 역할을 한다. 이미지는 컨테이너를 만드는 데 사용되어, 하나의 이미지로 여러 개의 컨테이너를 만들 수 있다. 컨테이너로도 이미지를 만들 수 있다. 이로 새로운 이미지를 사용해 개조된 컨테이너를 생성할 수 있다. 도커 엔진 간 이동이 가능하다. 동일한 컨테이너를 여러 개 생성하지 않고, 다른 물리 서버에 설치된 도커 엔진으로 컨테이너를 이동할 수 있다. 2. 도커 허브 https://hub.docker.com/ 공식적으로 운영되는 도커 레지스토리의 이름으로, 공개된 컨테이너의 이미지가 모인 곳이다. 운영체제만 들어 있는 이미지, 소프트웨어가 포함된 이미지, 소프트..
도커의 동작 원리 1. 도커의 구조 2. 도커와 리눅스 1. 도커의 구조 제일 하단에 물리 서버가 존재한다. 그 위에 물리 서버에서 동작하는 리눅스 운영체제가 있다. 일반적인 서버에서는 운영체제 위에 프로그램이나 데이터가 올라간다. 도커의 경우 운영체제 위헤 도커 엔진이 동작하고 그 위에 컨테이너가 동작한다. 컨테이너 내에는 프로그램이나 데이터가 존재한다. 컨테이너의 구조 운영체제 '비슷한 것'이 들어있다. 컨테이너는 비어있을 수 있다. 그러나 이 형태는 잘 사용되지 않는다. 대부분의 컨테이너 내에는 리눅스 운영체제 비슷한 무언가가 존재한다. 실제 운영체제가 존재하는 것은 아니다. 컨테이너와 리눅스의 통신 원래 운영체제는 커널과 주변 부분으로 구성된다. 주변 부분이 프로그램과 통신을 하고, 그 내용을 커..
도커란 무엇인가? 1. 도커의 정체? 2. 데이터나 프로그램을 독립된 환경에 격리해야하는 이유? 3. 프로그램의 격리란? 4. 서버의 두 가지 의미 5. 도커와 가상화 기술의 차이 1. 도커의 정체? '데이터 또는 프로그램을 격리시키는 기능'을 제공하는 소프트웨어다. 컨테이너 기술을 기반으로 한 가상화 플랫폼이다. 가상화 : 물리적 자원인 하드웨어를 활용하기 위해 공간 위에 가상 머신을 만드는 것이다. 컨테이너 : 컨테이너가 실행되고 있는 호스트 OS의 기능을 그대로 사용하면서 프로세스를 격리해 독립된 환경을 만드는 기술이다. 이미지를 실행시켜 컨테이너로 만들고, 컨테이너를 관리하고, 컨테이너를 다시 이미지로 만드는 작업을 할 수 있다. 다른 라이브러라와 충돌을 바지하기 위해 격리된 환경이 필요할 때, ..