도커 전에는 프로세스를 알아야 합니다.프로그램은 실행 파일입니다. 실행을 위한 파일이고 말 그대로 파일입니다. 이 실행 파일이라 했으니 이 파일을 실행했을 때 나타나는 것이 프로세스입니다.이런 프로세스가 여러 개 실행되는 것을 멀티 태스킹이라 하는데, 태스크는 프로세스
도커는 컨테이너 관리 기술입니다.컨테이너를 생성하고 관리하기 위한 도구입니다.소프트웨어 개발에서 컨테이너는 표준화된 소프트웨어 유닛입니다. 이는 기본적으로 코드 패키지이며 해당 코드를 실행하는데 필요한 종속성과 도구가 포함되어있다는 것이 중요합니다.이런 의미에서 도커는
docker.com에서 자신의 운영체제에 맞게 설치를 합니다. 여기서 docker engine과 docker desktop이 설치됩니다.이후에 docker hub, docker compose 도구를 배우고 이렇게 4가지가 도커가 제공하는 서비스입니다.이제 VSC와 같은
` 이전 글에서 간단히 설명했던 부분을 자세히 얘기해보겠습니다. FROM node:14 우선 FROM으로 이미지를 불러와서 베이스이미지 레이어를 올려놓습니다. 이 때 도커는 사용자의 이미지 레포지토리에서 node:14라는 이미지가 있는지 확인하고 없다면 docker
Dockerfile을 만들었다면 docker명령어를 통해 이미지를 build 할 수 있습니다.이 명령어를 통해 Dockerfile 기반의 이미지가 생성됩니다.
docker images: 시스템에 있는 모든 Docker 이미지 목록을 표시합니다.docker image ls: docker images와 동일한 명령어입니다.docker image rm <image_id>: 특정 Docker 이미지를 삭제합니다.docker i
docker cp <local_path> <container_id>:<container_path> : 로컬 시스템과 컨테이너 간에 파일을 복사합니다.
생성된 이미지로 컨테이너를 실행할 수 있습니다. 여기에 이제 여러가지 옵션을 줄 수 있습니다. 그 전에 start 명령어를 살펴본 뒤 옵션에 대해 설명해보겠습니다. docker start 옵션을 주기전에 start 명령어를 보겠습니다. 짚고 넘어가야 하는 점은
Dockerfile과 빌드에 필요한 파일을 공유하면 이미지를 공유할 수 있습니다. 하지만 이런 방식보다 이미지 자체를 공유한다면 누구나 곧바로 이미지 하나만을 이용해 컨테이너를 실행할 수 있을 것입니다.이렇게 이미지를 공유할 수 있게 도와주는 곳이 docker hub
가장 단순한 다중 컨테이너 모습은 백엔드-프론트엔드-데이터베이스 형태일 것입니다. 호스트를 이용한 통신 우선, 앞서 예시엔 없었던 예시인 데이터베이스 컨테이너를 실행합니다. mongodb라는 이름의 mongodb 데이터베이스를, 실행 중지시 삭제하도록 하고,
백엔드 컨테이너의 경우 로그관리와 컨테이너 상태, 의존성 파일이 저장되어야 합니다. 이를 위해 세 가지 볼륨을 추가해줍니다.(detached모드도 추가!)로그 파일을 따로 보관하여 컨테이너가 소멸해도 데이터가 살아남도록 합니다. 물론 바인딩 마운트로 해도 되지만 데이터
개요 및 설정 방법 앞서 도커의 컨테이너들을 관리할 때 문제점이 있습니다. 일단 명령어가 너무 길었습니다. 컨테이너마다 해주어야 할 명령어들이 너무 길고 컨테이너들 간의 공유되어야 할 변수들도 있었습니다. 그리고 배포까지 생각한다면 컨테이너 갯수가 늘어날 수도 있고
이때까지 다룬 컨테이너의 구조는 컨테이너 내부에 환경이 담겨져있고 그곳에 우리의 앱을 넣는 구조였습니다.여기서 설명하게될 유틸리티 컨테이너는 앱을 담는것이 아닌 특정 환경만 포함하는 컨테이너를 뜻합니다. 만약 우리가 npm 명령어를 쓰려면 node.js가 설치되어 있어
AWS에서 제공하는 서비스로 컨테이너를 이용하여 인프라 환경을 좀 더 편리하게 운영하고 관리할수 있도록 해주는 서비스입니다.Task-Service 관계전체 구조 Docker 컨테이너를 실행하기 위해 정의한 컨테이너 집합입니다.컨테이너의 이미지, CPU/메모리 리소스 할
우선 EC2 Instance는 결국 VM의 일종입니다. 하지만 초반 도커의 개념을 살필 때, VM구조보다 컨테이너 기반의 구조가 효율적이라는 것을 알았고 ECS처럼 VM을 이용하는 것이 아닌 Docker Container를 위한 전용 서버를 구축하는게 더 좋다는 생각을