Docker
Dockerfile beställning av innehåll
Sök…
Anmärkningar
- Basbilddeklaration (
FROM
) - Metadata (t.ex.
MAINTAINER
,LABEL
) - Installera systemberoende (t.ex.
apt-get install
,apk add
) - Kopiering app beroenden filen (t ex
bower.json
,package.json
,build.gradle
,requirements.txt
) - Installera appberoenden (t.ex.
npm install
,pip install
) - Kopiering av hela kodbasen
- Ställa in standardkonfigurationer för runtime (t.ex.
CMD
,ENTRYPOINT
,ENV
,EXPOSE
)
Dessa beställningar görs för att optimera byggtiden med Dockers inbyggda cachemekanism.
Tommelfingerregel:
Delar som byter ofta (t.ex. codebase) ska placeras nära botten av Dockerfile, och vice versa. Delar som sällan ändras (t.ex. beroende) bör placeras överst.
Enkel Dockerfile
# Base image FROM python:2.7-alpine # Metadata MAINTAINER John Doe <[email protected]> # System-level dependencies RUN apk add --update \ ca-certificates \ && update-ca-certificates \ && rm -rf /var/cache/apk/* # App dependencies COPY requirements.txt /requirements.txt RUN pip install -r /requirements.txt # App codebase WORKDIR /app COPY . ./ # Configs ENV DEBUG true EXPOSE 5000 CMD ["python", "app.py"]
UNDERHÅLL kommer att avskrivas i Docker 1.13 och bör ersättas med LABEL. ( Källa )
Exempel: LABEL Maintainer = "John Doe [email protected]"
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow