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