Dockerfile - Tworzenie i zarządzanie obrazami Docker
Dowiedz się, czym jest Dockerfile i jak go używać do automatyzacji budowy obrazów Docker.
Czym jest Dockerfile?
Dockerfile to plik tekstowy, który zawiera zestaw instrukcji służących do automatycznego tworzenia obrazów Docker. Dzięki Dockerfile można zdefiniować wszystkie potrzebne kroki do zbudowania środowiska, w którym aplikacja będzie działać. Umożliwia to łatwe i powtarzalne tworzenie środowisk programistycznych oraz produkcyjnych.
Jak działa Dockerfile?
Dockerfile wykorzystuje prostą składnię, dzięki której można określić, jakie obrazy bazowe mają być użyte, jakie pakiety mają zostać zainstalowane oraz jakie komendy mają zostać wykonane w trakcie budowy obrazu. Proces budowania obrazu z Dockerfile odbywa się za pomocą komendy docker build.
Podstawowe instrukcje Dockerfile
Oto niektóre z najczęściej używanych instrukcji w Dockerfile:
FROM- określa obraz bazowy, z którego ma być budowany nowy obraz.RUN- wykonuje polecenie w czasie budowy obrazu, co pozwala na instalację pakietów lub uruchamianie skryptów.COPY- kopiuje pliki z lokalnego systemu plików do obrazu.ADD- podobnie jak COPY, ale ma dodatkowe możliwości, takie jak dekompresja archiwów.CMD- definiuje domyślną komendę, która ma być uruchomiona, gdy kontener zostanie uruchomiony.ENTRYPOINT- pozwala na zdefiniowanie głównego procesu, który będzie uruchamiany w kontenerze.
Przykład prostego Dockerfile
Poniżej znajduje się przykład prostego Dockerfile, który tworzy obraz dla aplikacji Node.js:
FROM node:14
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 8080
CMD [ "node", "app.js" ]W tym przykładzie:
- Obraz bazowy to
node:14. - Ustawiamy katalog roboczy na
/usr/src/app. - Kopiujemy pliki
package.jsonipackage-lock.json, a następnie instalujemy zależności. - Kopiujemy wszystkie pozostałe pliki do obrazu.
- Otwieramy port 8080.
- Definiujemy, że aplikacja ma być uruchomiona za pomocą polecenia
node app.js.
Podsumowanie
Dockerfile to potężne narzędzie, które pozwala na automatyzację procesu budowy obrazów Docker. Dzięki dobrze skonstruowanemu Dockerfile możemy szybko i łatwo tworzyć różne środowiska dla naszych aplikacji. Używając podstawowych instrukcji, możemy dostosować obraz do naszych potrzeb, co znacznie ułatwia pracę z kontenerami.