Docker에서 docker build라는 명령어를 사용하여 DockerFile로 부터 이미지를 생성할 수 있습니다.
$ docker build 옵션 Dockerfile경로
주요 옵션:
-t, --tag=””: 저장소 이름, 이미지 이름, 태그를 설정할 수 있습니다. 옵션 뒤에 <저장소 이름>/<이미지 이름>:<태그> 형식으로 적어주면 됩니다.
ex)
1) DockerFile 작성
FROM node:10.16.0
COPY package.json /src/package.json
RUN cd /src; npm install
COPY . /src
EXPOSE 80
WORKDIR /src
CMD node bin/www.js
FROM <이미지>: 이미지로 부터 시작
COPY <복사할 파일 경로> <이미지에서 파일이 위치할 경로>: 파일을 복사
RUN <명령어>: 직접 쉘 명령어를 실행하도록 함
EXPOSE <포트 번호>: 가상 머신에 오픈할 포트를 지정
WORKDIR <폴더명>: 명령어를 실행시킬 Working Directory 지정
RUN <명령어>: 현재 이미지에서 새로운 Layer를 만들어 명령어 실행 후 결과를 commit(저장) 후 새로 만들어진 이미지를 기반으로 DockerFile의 다음 스텝을 실행
CMD <명령어>: 도커 파일에 하나만 존재해야 하는 명령어로 여러 개 있을 경우 마지막 CMD 만 유효. 컨테이너를 실행하면서 기본적으로 실행되는 defaults를 제공할 수 있음
2) DockerFile 빌드 및 이미지 확인
docker build --tag amazon/nodejs:0.1 .
docker images
3) Docker 이미지 실행 및 컨테이너(실행된 이미지) 확인
$ docker run --name amazon-instance -p 80:80 amazon/nodejs:0.1
$ docker ps
참고)
도커 공식 문서
https://docs.docker.com/engine/reference/builder/
| Docker Documentation
Dockerfile reference Docker can build images automatically by reading the instructions from a Dockerfile. A Dockerfile is a text document that contains all the commands a user could call on...
docs.docker.com
도커 build 명령어
http://pyrasis.com/book/DockerForTheReallyImpatient/Chapter20/02
가장 빨리 만나는 Docker 20장 - 2. build
pyrasis.com
도커 image와 container 차이
What is the difference between a Docker image and a container?
When using Docker, we start with a base image. We boot it up, create changes and those changes are saved in layers forming another image. So eventually I have an image for my PostgreSQL instance a...
stackoverflow.com
'개발 > Docker' 카테고리의 다른 글
[Docker] MySQL 컨테이너 생성 및 연결 (0) | 2020.03.01 |
---|---|
[Docker] 로컬 Docker 이미지 파일 저장 후 원격 서버에 배포하기 (0) | 2019.09.24 |
[Docker] Docker 터미널 명령어 (0) | 2019.08.23 |