Docker basics
Docker
- Container laufen als der User, den das Image definiert (oft
root) - Im Dockerfile gibt es Standard-Commands:
FROM,RUN,COPY,CMD,ENTRYPOINT
Schnellstart
code
docker run -d -p 80:80 docker/getting-started
Dockerfile Minimal
code
FROM node:alpine
LABEL author="tasiomind"
ENV NODE_ENV=production
ENV PORT=3000
WORKDIR /var/www
COPY . .
RUN npm install
EXPOSE 3000
CMD ["node", "server.js"]
.dockerignore
code
node_modules
.git
Build
code
docker build -t nodeapp .
docker images
Push / Pull
code
docker login
docker push username/image:tag
docker pull username/image:tag
Layers
Weniger RUN = kleinere Images. Kombiniere Befehle:
code
RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*
Troubleshooting
Port belegt:
code
bind: address already in use
Loesung: anderen Port nehmen oder Prozess stoppen.