Kubernetes dla każdego – sztuka konteneryzacji
FROM scratch
ADD https://github.com/docker-library/hello-world/blob/master/amd64/hello-world/hello .
CMD ["/hello"]
docker build -t mybaseimage .
LABEL Metadane obrazu
ENV Zmienne środowiskowe dla aplikacji w kontenerze
ADD / COPY Kopiowanie plików do kontenera
ADD może odwołać się do np repozytorium, rozpakować plikiCOPY tylko kopiuje plikiENTRYPOINT Operacja która zostanie wykonana na działającym już kontenerze
WORKDIR Poruszanie się po strukturze katalogów w kontenerze
ARG zmienne używane wewnątrz Dockerfile, można je dołączyć do polecania DOCKERBUILD
USER zdefiniowanie użytkownika oraz jego grupy w kontekście którego będzie uruchomiony kontener, dla poleceń:RUN CMD ENTRYPOINT
# Komentarze
RUN pozwala zainstalować aplikacje i wymagane przez nią pakiety, wykonuje polecanie na bieżącym obrazie i tworzy jego nową wartwę
docker-compose.yaml
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}
Uruchomienie:
docker-compose up -d
Zatrzymanie:
docker-compose stop
Usunięcie kontenerów ze środowiska:
docker-compose rm
docker ps -a