Docker Image Build

Docker Image Structure

Pasted image 20230102094559.png

Dockerfile 없이 이미지 생성

# docker commit [OPTION] CONTAINER [REPOSITORY[:TAG]]
# ubuntu 컨테이너의 현재 상태를 my_ubuntu:v1

docker commit -a fastcampus -m "First Commit" ubuntu my ubnutu:v1

실습

docker run -it --name my_ubuntu ubuntu:focal

# Bash 진입 후
cat > my_file
Hello Fastcampus
^C
docker commit -a fastcampus -m "Add my_file" my_ubuntu my-ubuntu:v1

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]

Dockerfile로 Image build

# docker build [OPTIONS] PATH
# ./ 디렉토리를 빌드 컨텍스트로 my_app:v1 이미지 빌드(Dockerfile 이용)
docker build -t my_app:v1 ./

# ./ 디렉토리를 빌드 컨텍스트로 my_app:v1 이미지 빌드(example/MyDockerfile 이용)
docker build -t my_app:v1 -f example/MyDockerfile ./

실습

/fastcampus-devops/3-docker-kubernetes/3-dockerfile
Pasted image 20230102101405.png

app
FROM node:12-alpine
RUN apk add --no-cache python3 g++ make
WORKDIR /app
COPY . .
RUN yarn install --production
CMD ["node", "src/index.js"]

Dockerfile

docker build -t my-app:v1 ./

build context

.dockerignore


#Docker