Dockerfile reference

김태호·2022년 5월 4일
0

Docker

목록 보기
2/4

Dockerfile 용도?

Dockerfile이란 docker에서 이용하는 이미지를 기반으로 하여 새로운 이미지를 스크립트 파일을 통해 내가 설정한 나만의 이미지를 생성할 수 있는 일종의 이미지 설정파일입니다.

즉, Dockerfile은 이미지를 구성하는 지시사항을 포함하고 있고, Docker는 그 지시사항(Dockerifle)을 읽고 이미지를 빌드합니다.
Dockerfile은 사용자가 명령행에서 호출하여 이미지를 구성할 수 있는 모든 명령을 포함하는 텍스트 문서입니다.

Dockerfile 사용법

$ docker build .

docker의 build 명령어가 Dockerfile 과 컨텍스트로부터 이미지를 빌드합니다. 빌드 컨텍스트란 지정된 위치의 PATH(로컬 파일, 디렉토리) 또는 URL(Git Repository)의 파일 집합입니다.

컨텍스트는 재귀적으로 진행됩니다. 그래서 PATH는 하위 디렉토리를 포함하고 URL은 서브 모듈과 레포지토리를 모두 포함하게 됩니다.

Dockerfile Path Example

다음과 같은 경로에 Docker file 을 작성한다고 가정합니다.

# workspace/~ 경로

workspace:.
│  .dockerignore
│  .gitignore
│  app.js
│  Dockerfile
│  package-lock.json
│  package.json
│  README.md
│
├─bin
│      www
│
├─controller
│ .....

Dockerfile 내용

# cat Dockerfile
FROM node:latest
 
RUN mkdir -p /app
WORKDIR /app
 
ADD ./ /app
 
RUN npm install
 
CMD ["npm", "start"]

Docker Daemon Examples

구현 내용
Docker 데몬이 디버그 모드로 실행되고 TLS를 사용하며 포트 8888에서 192.169.xxx.xxx로 라우팅된 트래픽을 수신합니다.
dockerd 참조 문서에서 사용할 수 있는 configuration 옵션을 확인할 수 있습니다.

# cat /etc/docker/daemon.json

{
  "debug": true,
  "tls": true,
  "tlscert": "/var/docker/server.pem",
  "tlskey": "/var/docker/serverkey.pem",
  "hosts": ["tcp://192.168.xxx.xxx:8888"]
}

# dockerd 실행
dockerd --debug \
  --tls=true \
  --tlscert=/var/docker/server.pem \
  --tlskey=/var/docker/serverkey.pem \
  --host tcp://192.168.xxx.xxx:8888

참고
Windows default docker 위치
C:\ProgramData\docker\config\daemon.json

profile
신입 모바일 개발자 입니다!

0개의 댓글