Infra
![Docker Daemon (도커 데몬) - 1 [구조/-H/Remote Docker API]](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FberooO%2FbtrBxal7gu0%2FEGM7qvoG3zvVCy48GbqLEk%2Fimg.png)
Docker Daemon (도커 데몬) - 1 [구조/-H/Remote Docker API]
도커의 구조 도커의 위치는 /usr/bin/docker 에 위치한다. 컨테이너나 이미지를 다루는 명령어는 /usr/bin/docker에서 실행되지만, 도커 엔진의 프로세스는 /usr/bin/dockerd 파일로 실행되고 있다. 이는 docker 명령어가 실제 도커 엔진이 아닌 클라이언트로써으 도커이기 때문이다. 클라이언트 도커 (docker) - API를 사용할 수 있도록 CLI를 제공하는 것 - 사용자가 docker로 시작하는 명령어를 입력하면 도커 클라이언트에 전달 - 도커 클라이언트는 명령어를 로컬에 존제하는 도커 데몬에게 API로 전달 - 전달할 때, /var/run/docker.sock에 위치한 유닉스 소켓을 통해 도커 데몬의 API 호출 - tcp로 원격에 있는 도커 데몬을 제어하는 방법도 존..
Dockerfile (도커 파일)
도커 이미지를 빌드할 내용을 하나의 파일로 정의 해놓는 형태 - 사용시 명확히 어떤 프로그램의 어떤 버전을 썼는지 명시할 수 있어 추후 유지보수 / 재설치 할 때 편하다. 사용법 빈 디렉토리 안에 Dockerfile 이라는 이름의 파일을 만들어 내용을 작성하고 docker build -t {name}:{version} ./ 위의 명령어를 통해 빌드하면 로컬에 이미지가 생성된다. Dockerfile을 특정 파일로 명시하고 싶다면 -f {Dockerfile Name} 옵션을 추가하면 가능하다. - 도커를 빌드하는 과정에서 컨텍스트가 맨위의 디렉토리로부터 하위디렉토리까지 모든 파일을 읽어들이는데, 이과정에서 메모리 초과나 권한 에러가 뜰 수 있으니 위치와 도커파일은 하나씩 하는게 좋아보인다. 아니면 gitig..