Docker
Dockerfile alapok
Dockerfile utasítások, Node.js példa, CMD vs ENTRYPOINT, .dockerignore, és cache-barát sorrend.
Dockerfile alapok
A Dockerfile egy szöveges fájl, amely utasítások sorozatát tartalmazza – ezek alapján épül fel a Docker image. Minden utasítás egy új réteget hoz létre.
Alapvető utasítások
| Utasítás | Leírás |
|---|---|
FROM | Alap image megadása |
WORKDIR | Munkakönyvtár beállítása |
COPY | Fájlok másolása a konténerbe |
ADD | Mint a COPY, de URL-t/tar-t is kezel |
RUN | Parancs build idején (új réteg) |
CMD | Alapértelmezett parancs indításkor |
ENTRYPOINT | Belépési pont (CMD argumentumként) |
ENV | Környezeti változó |
EXPOSE | Dokumentálja a portot |
ARG | Build-time argumentum |
VOLUME | Volume mount pont deklarálása |
Egyszerű Node.js Dockerfile
FROM node:18
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]CMD vs ENTRYPOINT
# CMD – felülírható docker run paranccsal
CMD ["npm", "start"]
# ENTRYPOINT – a CMD az argumentuma lesz
ENTRYPOINT ["node"]
CMD ["server.js"].dockerignore
node_modules
.git
.env
*.log
dist
coverage
.DS_StoreCache-barát sorrend
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run buildRövid összefoglaló
- A Dockerfile sorrendje kritikus a cache miatt.
.dockerignorenélkül a build context feleslegesen nagy és lassú.- CMD/ENTRYPOINT együtt is használható (ENTRYPOINT program, CMD default args).