inspect 로 특정 이미지(위 예시에선 nginx:latest)를 조회해보면 최하단에 배열형태로 레이어들이 잡혀있는걸 확인할 수 있음
Dockerfile 없이 이미지 생성
# docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
# ubuntu 컨테이너의 현재 상태를 my_ubuntu:v1 이미지로 생성
$ docker commit -a fastcampus -m “First Commit” ubuntu my_ubuntu:v1
docker commit 은 git 의 commit 과 유사하게 기존 컨테이너를 기반으로 변경사항을 만들고 나서 커밋을 하는 개념
root@mobius-pub:~/docker# docker commit -a fastcampus -m "Add my_file" my_ubuntu my_ubuntu:v1
sha256:222ffd4d4e5ac65082c08bc7e59ed85f769a4a0f3b4f5aa5f59a1410ef1c901b
root@mobius-pub:~/docker# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
my_ubuntu v1 222ffd4d4e5a About a minute ago 72.8MB
...
-a 옵션은 author 로, 누가 해당 변경점을 만드는지에 대한 히스토리를 남길 수 있다
-m 은 커밋 메세지에 해당
그 뒤에 {컨테이너 이름} {이미지 이름}:{tag} 와 같이 사용한다
생성한 이미지를 inspect 로 조회해보면 기존에 생성할 때 사용한 ubuntu:focal 레이어의 해시값에 변경사항이 쌓이는 것을 확인할 수 있다
Dockerfile 이용하여 이미지 생성
FROM node:12-alpine
RUN apk add --no-cache python3 g++ make
WORKDIR /app
COPY . .
RUN yarn install --production
CMD ["node", "src/index.js"]
09. 도커 컨테이너 다루기 - 이미지 빌드
도커 이미지 구조
docker images
명령으로 호스트 OS 에 보관중인 docker 이미지 목록을 볼 수 있음nginx:latest
)를 조회해보면 최하단에 배열형태로 레이어들이 잡혀있는걸 확인할 수 있음Dockerfile 없이 이미지 생성
Dockerfile 이용하여 이미지 생성
빌드 컨텍스트
.dockerignore
.dockerignore
파일을 설정할 수 있다*.md !README.md