Zum Hauptinhalt springen
Echtzeit-Radar & Feeds
Alle RSS Feeds ➔
👥 Community & Social
Windows Tipps & SecurityGrafikkarte vor Überhitzung schützen: So geht’s(25.09.2026 um 08:00 Uhr)
••••••••••
Windows Tipps & SecurityGrafikkarte vor Überhitzung schützen: So geht’s(25.09.2026 um 08:00 Uhr)
••••••••••
Intelligence View
⚡ tsecurity.de Intelligence

Dockerfile 이해하기

Dockerfile 이해하기 Reference Dockerfile reference CMD vs ENTRYPOINT Command CMD 컨테이너 실행할 때, 호출하는 명령어. 다른 명령어들은 모두 build시에 수행하는 명령어지만, 이건, runtime에 수행함. CMD는 docker run할 때, overrides될 수 있음 sudo d…

0
↗ Quelle (dev.to)
Reagiere als Erste:r — dein Feedback zählt!




Dockerfile 이해하기






Reference








Command






CMD




  • 컨테이너 실행할 때, 호출하는 명령어.


    • 다른 명령어들은 모두 build시에 수행하는 명령어지만, 이건, runtime에 수행함.






  • CMD는 docker run할 때, overrides될 수 있음



    • sudo docker run [container_name] [command] 로 실행하면, CMD는 호출되지 않고, [command]가 수행
      ### ENTRYPOINT






  • CMD와 거의 유사함


  • run할 때, overrides되냐 안되냐의 차이


  • 실행할 코드는 ENTRYPOINT로 정의하고, 디폴트 argument는 CMD로 정의하는 걸 추천







Dockerfile






ENTRYPOINT ["echo", "Hello"]
CMD ["World"]









run






sudo docker run [container_name] Docker









result






Hello Docker









RUN




  • Run multiple line




RUN set -ex \
&& apt-get update \
&& echo "something"









ENV




  • define environment path




ENV PYTHONPATH=/app









EXPOSE



https://docs.docker.com/engine/reference/builder/#expose




EXPOSE 80/tcp
EXPOSE 80/udp
EXPOSE 8080 5555 8888









Simple Build






FROM node:12-alpine
WORKDIR /app
COPY package.json yarn.lock ./
RUN yarn install --production
COPY . .
CMD ["node", "src/index.js"]







  • FROM node:12-alpine : 이미지를 가져옴. alpine은 light한 리눅스

  • WORKDIR /app : container내부의 해당 path를 working directory로 설정

  • COPY package.json yarn.lock ./ : copy this, so that, if this files not changed, then use cache(밑에 COPY . . 와 별도로 먼저 복사하는 이유임.)

  • RUN yarn install --production : 소스 코드 실행에 필요한 디팬던시 설치

  • COPY . . : 현재 디렉토리의 소스들을 workdir로 복사

  • CMD ["node", "src/index.js"] : 컨테이너 실행할 때, 호출할 명령어.


    • 위에 명령어들은 모두 build시에 수행하는 명령어지만, 이건, runtime에 수행함.











Multi-Stage Builds




  • Doc

  • only last stage is contained on image.






Maven/Tomcat Example




  • name the first stage as 'build'

  • COPY --from=build : copy files from 'build' stage




FROM maven AS build
WORKDIR /app
COPY . .
RUN mvn package

FROM tomcat
COPY --from=build /app/target/file.war /usr/local/tomcat/webapps









React Example






FROM node:12 AS build
WORKDIR /app
COPY package* yarn.lock ./
RUN yarn install
COPY public ./public
COPY src ./src
RUN yarn run build

FROM nginx:alpine
COPY --from=build /app/build /usr/share/nginx/html









Originally published at https://dss99911.github.io

Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Dockerfile 이해하기

Thematisch verwandte Begriffe: Dockerfile, 이해하기 · 6 Treffer

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

💬 Kommentare werden geladen…
Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-101041 | The account recovery (password reset) functionality in the vulnerabilit…
Advisory →
tsecurity.de Icon
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag