Notice
Recent Posts
Recent Comments
Link
devops
도커(Docker) - Dockerfile 작성과 팁 본문
반응형
컨테이너를 만드는 3 요소
- Dockerfile - Copy files, Install dependencies, Set environment variables, Run setup scripts
- Image - Appication(Setting file) Snapshot (변경불가)
- Container
Dockerfile 작성 예시
FROM node:16-alpine
WORKDIR /app
//WORKDIR는 리눅스에서 CD와 같은 역할, 디렉토리를 생성하거나 해당 디렉토리로 이동
COPY package.json package-lock.json ./
RUN npm ci
// install을 한다면 최선버전이 설치되기 때문에 프로젝트 개발버전과 설치버전이 달라질 수 있음 그래서 ci를 사용
COPY index.js .
ENTRYPOINT ["node", "index.js"]
$ docker build -f Dockerfile -t test-image .
이미지를 빌드하기 위해서 -f는 해당 도커파일 이름, -t는 이미지 이름, 마지막 .은 Build context를 가리킨다. 참고로 Build Context는 명령어 실행의 현재 경로를 지정한다.
$ docker run -d -p 80:80 test-image
컨테이너를 생성하기 위해서 사용하는 명령어다. -d는 detached를 의미하여 백그라운드에서 실행하는 것을 말한다. -p는 포트를 지정한다. host 머신의 포트와 컨테이너의 포트를 설정하는 것.(포워딩)
Dockerfile 작성 시 참고사항
명령어 하나하나가 Layer로 되어 있기 때문에 가장 빈번히 사용되는 것을 나중에 적어야한다. 그래야 수정시 이미지 생성 시간도 단축할 수 있으며 효율도 높아진다.
반응형
'DevOps > Docker' 카테고리의 다른 글
Docker 도커의 Multi-stage build로 이미지 경량화하기 (0) | 2022.11.09 |
---|---|
도커 로그인 오류 Error saving credentials: error storing credentials - err: exit status 1, out: `` (0) | 2022.06.30 |
context requires credentials to be passed as environment variables 오류 해결 (0) | 2022.05.27 |
Docker 명령어 정리 (1) | 2022.05.25 |
Docker Registry, Repository, Tag 그리고 Copy, Dockerfile (0) | 2022.05.25 |
Comments