ááŸá áºá¡áááºážáááºááŒá¬ááá¯ááºážá áá±á¬á·ááºáá²ááºááœá¶á·ááŒáá¯ážááá¯ážáááºáá±ážáá¯ááºáááºážááẠáá«áá¬ááá¯ááºážá¡ááŒá±á¬ááºážá¡ááœáŸá±á·ááᯠááŒá¯á¶ááœá±á·áá±ááááºá á€ááŒá áºá ááºáá»á¬ážáá²á០áá áºáá¯ááẠááá¯ááºáááá¯áááºáá±á¬ááºááŸá¯áá»á¬ážá ááá±á¬ááá¬ážá¡áá±á«áº á áááºáááºá á¬ážááŸá¯ ááŒá®ážááœá¬ážáá¬áááºáᯠá¡ááá¡ááŸááºááŒá¯ááá¯ááºáá«áááºá ááá¯ááºáááá¯áááºáá±á¬ááºááŸá¯áá»á¬ážááẠáá±á¬ááºáá¯á¶ážáá±á«áºáááºážááá¬ááá¯ááºáá±á¬áºáááºáž áááŒá¬áá±ážáá®áá០áááºážááá°ááŒáá¯ááºáá»á¬ážááŸá¯ááŸá¬ áá áºáá¯ááºááá¯ážáááºáá¬áá²á·áááºá
ááŒá®ážáá¬ážáá±á¬ monolithic áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠááá¯á¡áá« áá®ážááŒá¬ážááœááºáááºáá±á¬á ááá¯ááºááá¯ááºá¡á¯ááºáá»á¯ááºááœáá·áºá á¡áá±ážá á¬ážáááºáá±á¬ááºááŸá¯áá»á¬ážááŒáá·áº á¡á á¬ážááá¯ážáá»ááºááŸááááºá Microservice ááẠáá áºáá¯áááºážááŸáá·áº á¡ááœááºáááá»áá±á¬ áááºááœááºáá»ááºááᯠáá±á¬ááºááœááºáá±ážááá·áº á¡ááá®áá±ážááŸááºážáá áºáá¯á¡ááŒá Ạáá°áááá¯ááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áááºážááẠáááºá áẠDBMSá Express á¡ááá®áá±ážááŸááºážá Solr áááºáá±á¬ááºááŸá¯áá áºáᯠááŒá áºááá¯ááºáááºá
ááá±á·áá±ááºááœááºá ááá¯ááºáááá¯áá¬ážáá
áºáá»á¬ážááᯠá¡áá¯á¶ážáááŒá¯áá² áá±á¬á·ááºáá²ááºá
áá
áºá¡áá
áºááᯠáá®ááœááºááẠá
áááºáá°ážááááºáá«áááºá á€á¡ááŒá±á¡áá±ááẠáá
áºááẠáá»áœááºá¯ááºááá¯á·á¡á¬áž Docker ááááºáá±á¬ááºážááá¯á· áŠážáááºá
á±áááºá
Docker
ááááºáá±á¬ááºáž
Docker Compose
áááºážááá¬
Docker Compose ááŸáá·áº á¡áá¯ááºáá¯ááºáá±á¬á¡áá«á á¡ááºááºáááºáá±á¬ááºááŸá¯áá»á¬ážááᯠá á®á ááºáááºááŸááºáááºááŸáá·áº áááºážááá¯á·á á¡ááŒááºá¡ááŸááºáá¯á¶á·ááŒááºááŸá¯ááᯠá á¯á ááºážááẠYAML ááá¯ááºááᯠá¡áá¯á¶ážááŒá¯áááºá ááá¯á·ááŒá±á¬áá·áº Docker Compose ááẠMulti-container Docker á¡ááá®áá±ážááŸááºážáá»á¬ážááᯠáá±á¬áºááŒááŒááºážááŸáá·áº áá¯ááºáá±á¬ááºááŒááºážá¡ááœáẠáááááá¬áá áºáá¯ááŒá áºáááºá
áááºáá¶á
áá
áºáá
áºáá¯ááœáẠáá¯ááºáá±á¬ááºáá±ááá·áº ááœááºááááºáá¬ááŸá
áºáá¯
GNU áá¯ááºáá«
á¡á
á®á¡á
áẠmake
á ááẠá¡áááºážá¡ááŒá
áºáá¯ááºá០áááá¯ááááºáá»á¬ážááŸáá·áº á
á¬ááŒáá·áºááá¯ááºáá»á¬áž áááºáá±á¬ááºááŒááºážá¡ááœáẠáááŸááááŒá
áºááá¯á¡ááºáá±á¬ áááááá¬áá
áºáá¯ááŒá
áºáááºá áá±áá°áá»á¡á¬ážááŒáá·áºáá±á¬á· ááŒá±á¬ááá¯á·ááááºá make
á¡áá»áá¯á·áá±á¬ input áá
á¹á
ááºážáá»á¬ážááᯠoutput form ááá¯á· áááºážááá¯ááºá¡áá»áá¯á·ááá¯á· ááŒá±á¬ááºážáá²ááẠáááá¬ážáá±á¬ command áá»á¬ážááᯠáá¯ááºáá±á¬ááºááŒááºáž áá«áááºááá·áº áááºááá·áºáá¯ááºáááºážá
ááºááŸáá·áºáááᯠáááºááá¯ááºáá«áááºá áá»áœááºá¯ááºááá¯á·áá¡ááŸá¯á, á¡áááá·áºáá»á¬áž docker-compose
á¡ááœá±ážá¡ááŒááºáááºážááá¯ááºáá»á¬ážá¡ááŒá
ẠááŒá±á¬ááºážáá²ááœá¬ážáááá·áºááẠ(
á¡á
á®á¡á
á¥áºááᯠááŒá±á¬ááŒáá«á make
áá«ááá¯á·ááá¯áá»ááºáᬠááá¯ááºáá
áºáá¯ááá¯áááºá Makefile
.
áá»áœááºáá±á¬áºááá¯á·áá²á·á¡ááœáẠMakefile
áá¯á¶ááŸáẠcommand áá»á¬ážáá«ááŸááááºá docker
О docker-compose
ááŒá¿áá¬áá»á¬ážá
áœá¬ááᯠááŒá±ááŸááºážááẠáá®ááá¯ááºážáá¯ááºáá¬ážáááºá ááá¯ááá¯áááºááŸá¬á áá»áœááºá¯ááºááá¯á·ááẠááœááºááááºáá¬ááᯠáááºáááºááŒááºážá¡ááŒá±á¬ááºážá áááºážááᯠá
áááºááŒááºážá áááºááá·áºááŒááºážá¡ááŒá±á¬ááºážá áááºážááᯠááŒááºáááºá
áááºááŒááºážá¡ááŒá±á¬ááºážá ááœááºááááºáá¬ááá¯á· á¡áá¯á¶ážááŒá¯áá°á login ááᯠá
á®á
ááºáá±ážááŒááºážá¡ááŒá±á¬ááºážá ááœááºááááºáá¬ááŸááºáááºážáá»á¬ážááŸáá·áº áá¯ááºáá±á¬ááºááŒááºážá¡ááŒá±á¬ááºážááŸáá·áº á¡ááŒá¬ážáá±á¬ á¡áá¬ážáá°ááŒá¿áá¬áá»á¬ážááᯠááŒá±ááŸááºážááŒááºážá¡ááŒá±á¬ááºáž áá»áœááºá¯ááºááá¯á·ááŒá±á¬áá±áá«áááºá
Docker Compose á¡ááœáẠáá¯á¶ááŸááºá¡áá¯á¶ážááŒá¯ááŸá¯ááá á¹á áá»á¬áž
á¡á±á¬ááºáá« á¡á áááºá¡ááá¯ááºážáá»á¬ážáá«ááŸááá±á¬ áá¯á¶ááŸááºáááºá¡ááá®áá±ážááŸááºážááᯠá áááºáá°ážááŒáá·áºááŒáá«á áá¯á·á
- TimescaleDB áá±áá¬áá±á·á (Postgres)á
- Express.js á¡ááá®áá±ážááŸááºážá
- Ping (ááœááºááááºáá¬áá áºáá¯áá»áŸáá¬ááŒá áºááŒá®áž á¡áá°ážá¡ááœá± áá¬á០ááá¯ááºáááºáá«)á
á€á¡ááá®áá±ážááŸááºážááẠDocker ááœááºááááºáᬠá áá¯ááŸáá·áº ááá¯ááºáá
áºáᯠááá¯á¡ááºáááºááŒá
áºáááºá docker-compose
á€ááœááºááááºáá¬áá»á¬ážááᯠá
á®áá¶ááá·áºááœá²ááẠááœáŸááºááŒá¬ážáá»ááºáá»á¬ážáá«ááŸááááºá ááœááºááááºáá¬áá
áºáá¯á
á®ááœáẠááá°áá®áá±á¬ ááááœá±á·ááŸá¯á¡ááŸááºáá»á¬áž ááŸááá«áááºá á¥ááá¬á¡á¬ážááŒáá·áº, ááœááºááááºáá¬ááŸáá·áºá¡áá° timescale
áááºážááá¯á·ááẠáá±áá¬áá±á·á
áºáá»á¬ážááŸáá·áº á¡áá¯ááºáá¯ááºááá²á·ááá¯á· ááá·áºááŸááºážááŒá±á¡á¬ážááŒáá·áº áá°áá®áá±á¬áááºážáááºážááŒáá·áº áá¯ááºáá±á¬ááºááá¯ááºáááºááŒá
áºáááºá ááá¯ááá¯áááºááŸá¬á áááºážááẠááá·áºá¡á¬áž á¡á±á¬ááºáá«áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáá¯ááºáá±á¬ááºááá¯ááºá
á±áááº-
- Postgres shell áá²ááá¯á·áááºáá±á¬ááºááŒááºážá
- ááá¬ážáá»á¬áž áááºááœááºážááŒááºážááŸáá·áº áááºááá¯á·ááŒááºážá
- áááºáá®ážááŒááºáž
pg_dump
ááá¬ážáá»á¬áž ááá¯á·ááá¯áẠáá±áá¬áá±á·á áºáá»á¬ážá
Express.js á¡ááá®áá±ážááŸááºáž ááœááºááááºáá¬á expressjs
á á¡á±á¬ááºáá«á
áœááºážáááºáá»á¬áž ááŸáááá¯ááºáááº-
- á áá áºááŸááºáááºážá០áááºáááºáá±á¬áá±áá¬ááᯠáá±ážáá±á¬ááºááŒááºážá
- á¡áá»áá¯á·áá±á¬ command áá»á¬ážááá¯áá¯ááºáá±á¬ááºááẠshell ááá¯á·áááºáá±á¬ááºáá«á
ááœááºááááºáá¬áá»á¬ážááŸáá·áº á¡ááŒááºá¡ááŸááºáááºáá¶ááŒááºážá
Docker Compose ááᯠá¡áá¯á¶ážááŒá¯á ááœááºááááºáá¬áá»á¬ážááŒá¬áž áááºááœááºáá±ážááᯠáá»áœááºá¯ááºááá¯á· áááºááŸááºááŒá®ážáááºááŸáá·áºá ááá¯ááœááºááááºáá¬áá»á¬ážááŸáá·áº áááºááœááºááẠá¡áá»áááºáááºáá«ááŒá®á Docker Compose á
áá
áºááœáẠcommand áá
áºáá¯ááŸááááºá docker-compose
áá¶á·ááá¯ážáá±ážááá·áº ááœá±ážáá»ááºááŸá¯ -f
ááá¯ááºáá
áºáá¯ááᯠá
áá
áºááá¯á· ááœáŸá²ááŒá±á¬ááºážááẠááœáá·áºááŒá¯áááºá docker-compose.yml
.
á€ááœá±ážáá»ááºááŸá¯á á
áœááºážáááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒááºážááŒáá·áºá áááºááẠááá¯ááºááœááºáá±á¬áºááŒáá¬ážáá±á¬ ááœááºááááºáá¬áá»á¬ážááá¯áᬠá
áá
áºááŸáá·áº á¡ááŒááºá¡ááŸááºáááºááœááºááŸá¯ááᯠááá·áºáááºááá¯ááºáááºá docker-compose.yml
.
ááœááºááááºáá¬áá»á¬áž ááŸáá·áº ááœááºááááºáᬠááá¯á·á á¡ááŒááºá¡ááŸáẠáááºááœááºááŸá¯áá»á¬ážááᯠááœááºááááºáá¬áá»á¬áž á¡áá¯á¶ážááŒá¯áá±á¬á¡áá«ááœáẠáááºááá¯á·áá±á¬ áá¯á¶ááá¹áá¬áẠááŸááááºááᯠááŒáá·áºááŒáá«á
áá¯á· docker-compose
. á¡áááºá áá»áœááºá¯ááºááá¯á·ááẠá¡ááœá¶áá²ááá¯á· áááºáá±á¬ááºááẠááá¯á¡ááºáááºáᯠáá»áœááºá¯ááºááá¯á· á
áááºáá°ážááŒáá·áºáá»áŸááºá psql
ááá¯á·áá±á¬áẠáááºááá¯ááºáᬠcommand áá»á¬ážááẠá€áá²á·ááá¯á· ááŒá
áºáá±ááá¯ááºáááº-
docker-compose -f docker-compose.yml exec timescale psql -Upostgres
áá¯ááºáá±á¬ááºááẠá¡áá¯á¶ážáááŒá¯áá±á¬ áá°áá®áá±á¬ command docker-compose
ááŸáá·áº docker
á á€áá²á·ááá¯á·áá±á¬áá¯á¶ááááº-
docker exec -it edp_timescale_1 psql -Upostgres
ááá¯ááá¯á·áá±á¬ááá
á¹á
áá»á¬ážááœááºáááºážááẠcommand ááá¯á¡ááŒá²áá¯á¶ážáááºááá¯áá±á¬ááºážááŒá±á¬ááºážáááááŒá¯áá«á docker
, ááŸáá·áºá¡áááá·áº docker-compose
ááœááºááááºáá¬á¡áááºáá»á¬ážááᯠááŸááºáá¬ážáá¬ážááẠááá¯á¡ááºáá±á¬ááŒá±á¬áá·áºá
á¡áááºáá« command ááŸá
áºáá¯áá¯á¶ážááẠáááºáá²áááºááá¯ááºá áá«áá±áá²á· áá»áœááºáá±á¬áºááá¯á·á áá¯á¶á
á¶áá²á· âáá¯ááºááá¯ážâ ááá¯áá¯á¶ážááẠMakefile
áá»áœááºá¯ááºááá¯á·á¡á¬áž ááá¯ážááŸááºážáá±á¬ command áá»á¬ážáá¯á¶á
á¶ááŒáá·áº interface áá
áºáá¯áá±ážáᬠá¡áá¬ážáá°ááŸááºáá»á¬ážáá±á¬ command áá»á¬ážááᯠáááºážááá¯ááºááá¯ááºáá±á«áºáááºááŒá
áºááŒá®ážá ááá¯á·áá±á¬áẠáá°áá®áá±á¬ááááºáá»á¬ážááᯠá€áá²á·ááá¯á·á¡á±á¬ááºááŒááºááá¯ááºáááº-
make db-shell
á¡áá¯á¶ážááŒá¯áá¯á¶á áá±á¬áºáá±á¬áºáááá¬áá«áááºá Makefile
ááœááºááááºáá¬áá»á¬ážááŸáá·áº á¡áá¯ááºáá¯ááºáá¬ááœáẠááá¯ááá¯ááœááºáá°á
á±áááºá
á¡áá¯ááºá¥ááá¬
á¡áááºáá±á¬áºááŒáá« ááá±á¬áá»ááºááá¬ážááᯠá¡ááŒá±áá¶á á¡á±á¬ááºáá«ááá¯ááºááᯠáááºáá®ážáá«áááºá docker-compose.yml
:
version: '3.3'
services:
api:
build: .
image: mywebimage:0.0.1
ports:
- 8080:8080
volumes:
- /app/node_modules/
depends_on:
- timescale
command: npm run dev
networks:
- webappnetwork
timescale:
image: timescale/timescaledb-postgis:latest-pg11
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
command: ["postgres", "-c", "log_statement=all", "-c", "log_destination=stderr"]
volumes:
- ./create_schema.sql:/docker-entrypoint-initdb.d/create_schema.sql
networks:
- webappnetwork
ping:
image: willfarrell/ping
environment:
HOSTNAME: "localhost"
TIMEOUT: 300
networks:
webappnetwork:
driver: bridge
Docker Compose configuration ááᯠá
á®áá¶ááá·áºááœá²ááŒá®áž áááºážááœááºáá±á¬áºááŒáá¬ážáá±á¬ ááœááºááááºáá¬áá»á¬ážááŸáá·áº á¡ááŒááºá¡ááŸáẠáá¯á¶á·ááŒááºáááºá¡ááœáẠá¡á±á¬ááºáá«ááá¯ááºááᯠáááºáá®ážáá«áááºá Makefile
:
THIS_FILE := $(lastword $(MAKEFILE_LIST))
.PHONY: help build up start down destroy stop restart logs logs-api ps login-timescale login-api db-shell
help:
make -pRrq -f $(THIS_FILE) : 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | sort | egrep -v -e '^[^[:alnum:]]' -e '^$@$$'
build:
docker-compose -f docker-compose.yml build $(c)
up:
docker-compose -f docker-compose.yml up -d $(c)
start:
docker-compose -f docker-compose.yml start $(c)
down:
docker-compose -f docker-compose.yml down $(c)
destroy:
docker-compose -f docker-compose.yml down -v $(c)
stop:
docker-compose -f docker-compose.yml stop $(c)
restart:
docker-compose -f docker-compose.yml stop $(c)
docker-compose -f docker-compose.yml up -d $(c)
logs:
docker-compose -f docker-compose.yml logs --tail=100 -f $(c)
logs-api:
docker-compose -f docker-compose.yml logs --tail=100 -f api
ps:
docker-compose -f docker-compose.yml ps
login-timescale:
docker-compose -f docker-compose.yml exec timescale /bin/bash
login-api:
docker-compose -f docker-compose.yml exec api /bin/bash
db-shell:
docker-compose -f docker-compose.yml exec timescale psql -Upostgres
á€áá±áá¬ááœááºáá±á¬áºááŒáá¬ážááá·áº command á¡áá»á¬ážá
á¯ááẠááœááºááááºáá¬á¡á¬ážáá¯á¶ážááŸáá·áº áááºááá¯ááºáá±á¬áºáááºáž ááœá±ážáá»ááºááœáá·áºááᯠá¡áá¯á¶ážááŒá¯áá¬ážáááºá c=
command áá
áºáá¯á scope ááᯠcontainer áá
áºáá¯ááœáẠááá·áºáááºááẠááá·áºá¡á¬áž ááœáá·áºááŒá¯áááºá
áááºážááŒá®ážáá±á¬áẠMakefile
á¡áááºááá·áºááŒá
áºááŒá®á áááºá€áá²á·ááá¯á·áá¯á¶ážááá¯ááºáááºá
make help
- áááŸáááá¯ááºáá±á¬ command á¡á¬ážáá¯á¶ážááᯠá á¬áááºážáá¯ááºáá±ážááŒááºážámake
.
áááŸáááá¯ááºáá±á¬ command áá»á¬ážá¡ááœáẠá¡áá°á¡áá®
make build
- áá¯á¶áá áºáá¯á¶á០á á¯á ááºážááŸá¯Dockerfile
. áá»áœááºá¯ááºááá¯á·áá¥ááá¬ááœáẠáá»áœááºá¯ááºááá¯á·ááẠááŸáááŒá®ážáá¬ážáá¯á¶áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá¬ážáááºátimescale
Оping
. áá«áá±ááá·áº áá¯á¶api
ááŒááºááœááºážááŸá¬ á á¯áá±á¬ááºážáá»ááºáááºá á€á¡áááá·áºááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŒá®ážáá±á¬áẠáá¯ááºáá±á¬ááºáááá·áºá¡áá¬ááŸá¬ á¡ááá¡áá»ááŒá áºáááºá
Docker container áá
áºáá¯áááºáá±á¬ááºááŒááºážá
make start
- ááœááºááááºáá¬á¡á¬ážáá¯á¶ážááá¯ááœáá·áºááŒááºážá ááœááºááááºáá¬áá áºáá¯á¶ážáááºážááᯠááœáá·áºáááºá áá²á·ááá¯á·áá±á¬ command ááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºámake start c=timescale
.
á¡áá»áááºá¡ááá¯ááºážá¡áᬠááœááºááááºáá¬ááᯠáá¯ááºáá±á¬ááºááŒááºážá
ping ááœááºááááºáá¬ááᯠáááºáááºááŒááºážá
make login-timescale
- ááœááºááááºáá¬á bash session ááá¯á·áááºáá±á¬ááºáá«átimescale
.
á¡áá»áááºá¡ááá¯ááºážá¡áá¬áá
áºáá¯á¡ááœááºáž áá±á·á
áºááᯠááŒá±ážááŒááºážá
make db-shell
- áááºáá±á«ááºpsql
ááœááºááááºáá¬áá áºáá¯áá²ááŸá¬timescale
áá±áá¬áá±á·á áºááŸáá·áºááá·áºáá»ááºááẠSQL queries ááá¯áá¯ááºáá±á¬ááºáááºá
timescaledb ááœááºááááºáá¬ááœáẠpsql ááᯠáá¯ááºáá±á¬ááºáá±áááºá
make stop
- ááœááºááááºáá¬áá»á¬ážáááºááá·áºááŒááºážá
á¡áá»áááºá¡ááá¯ááºážá¡áᬠááœááºááááºáá¬ááᯠáááºááá·áºááŒááºážá
make down
- ááœááºááááºáá¬áá»á¬ážááᯠáááºááá·áºááŒááºážááŸáá·áº áááºááŸá¬ážááŒááºážá áááºááŸááºáá¬ážáá±á¬ ááœááºááááºáá¬ááᯠáááºááŸá¬ážááẠáááºááẠá¡ááá¯ááŸááá±á¬ ááœááºááááºáá¬ááᯠáááºááŸááºááá·áº á€á¡áááá·áºááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá á¥ááá¬á¡á¬ážááŒááºá· -make down c=timescale
ááá¯á·ááá¯ááºmake down c=api
.
ááœááºááááºáá¬á¡á¬ážáá¯á¶ážááᯠáááºááŒá®áž áá»ááºááŒááºážá
ááááºáá»á¬ážááá¯
Docker Compose ááẠááœááºááááºáá¬áá»á¬ážááᯠá á®áá¶ááá·áºááœá²áááºá¡ááœáẠáá»á¬ážááŒá¬ážáá±á¬ command á¡á á¯á¶ááᯠáá±ážá áœááºážááá¯ááºáá±á¬áºáááºáž áá áºáá«áá áºáá¶ááœáẠá¡ááá¯áá« command áá»á¬ážááẠááŸááºáá»á¬ážááŒá®áž ááŸááºááááẠáááºáá²ááœá¬ážááá¯ááºáááºá
á¡áá¯á¶ážááŒá¯áááºáž Makefile
ááá¯ááºáá
áºáá¯á០ááœááºááááºáá¬áá»á¬ážááŸáá·áº áá»ááºááŒááºááœááºáá°áá±á¬ á¡ááŒááºá¡ááŸááºáááºáá¶áá±ážááᯠáá°áá±á¬ááºááá¯ááºá
á±ááẠáá°áá®áá±ážáá²á·áááºá docker-compose.yml
. ááá¯ááá¯áááºááŸá¬á áá»áœááºá¯ááºááá¯á·ááẠá¡á±á¬ááºáá«á¡ááŒá±á¬ááºážáá»á¬ážááᯠááŒá±á¬áá±áá«áááºá
- áá±á¬á·ááºáá²áá±ážáá¬ážáá°ááẠáá±á¬áºááŒáá¬ážáá±á¬ ááá±á¬áá»ááºááœááºááááºáá¬áá»á¬ážááŸáá·áºáᬠá¡ááŒááºá¡ááŸááºá¡áá»áá¯ážáááºáá±á¬ááºáááºá
docker-compose.yml
á¡ááŒá¬ážáá¯ááºáá±á¬ááºáá±ááá·áº ááœááºááááºáá¬áá»á¬ážá០á¡áá¯ááºá¡á¬áž á¡ááŸá±á¬áá·áºá¡ááŸááºáááŸááá«á - á¡áá»áá¯á·áá±á¬ command ááá¯áá±á·ááœá¬ážáá±á¬á¡áá«á áááºááẠcommand ááá¯áá¯ááºáá±á¬ááºááá¯ááºáááºá
make help
áááŸáááá¯ááºáá±á¬ command áá»á¬ážá¡ááœáẠá¡áá°á¡áá®ááá°áá«á - áá±á¬ááºáá¯á¶ážáá±á«áº ááŸááºáááºážááá·áºááœááºážááŸá¯áá»á¬ážááá°ááŒááºáž ááá¯á·ááá¯áẠá
áá
áºáá
áºáá¯ááá¯á· áá±á¬á·ááºáá¯ááºááŒááºážáá²á·ááá¯á·áá±á¬ áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáá¯ááºáá±á¬ááºáááºá¡ááœáẠááŸááºáá»á¬ážáá±á¬ á¡ááŒá±á¬ááºážááŒáá»ááºáá»á¬ážá
á¬áááºážáá»á¬ážááᯠááŸááºáá¬ážááẠáááá¯á¡ááºáá«á á¥ááᬠcommand ááá¯áá»áá¯ážáá±á«á·á
docker-compose -f docker-compose.yml exec timescale psql -Upostgres
ááá¯á·ááŸáá·áºmake db-shell
. - ááá¯ááº
Makefile
ááá±á¬áá»ááºááŒá®ážááœá¬ážáá¬áááºááŸáá·áºá¡áá»áŸ áááºááẠáááºážááᯠááá¯ááºáá»á±á¬áá®ááœá±ááŒá áºá¡á±á¬áẠááá¯ááºáá»á±á¬áá®ááœá±ááŒá áºá¡á±á¬áẠáá¯ááºáá±á¬ááºááá¯ááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá±áá¬áá±á·á áºá¡áááºáá°ážááŒááºážááᯠáááºáá®ážááẠááá¯á·ááá¯áẠá¡ááŒá¬ážáá¯ááºáá±á¬ááºááŸá¯áá áºáá¯áá¯áá¯ááºáá±á¬ááºááẠááœáŸááºááŒá¬ážáá»ááºáá áºáá¯ááᯠááá·áºááẠááœááºáá°áááºá - áá±á¬á·ááºáá²áá±ážáá¬ážáá°á¡ááœá²á· ááŒá®ážáá
áºáá¯á áá®ááá¯áá² áá¯á¶ážáá«áááºá
Makefile
áááºážááẠáá°ážáá±á«ááºážáá±á¬ááºááœááºááŸá¯ááᯠáá»á±á¬ááœá±á·á á±ááŒá®áž á¡ááŸá¬ážá¡ááœááºážáá»á¬ážááᯠáá»áŸá±á¬á·áá»áá±ážáááºá
PS áá»áœááºáá±á¬áºááá¯á·áá²á·á¡ááœááº
áá»á áºáááºááá«áá±á¬á á¬áááºáá°áá»á¬áž! Docker Compose ááᯠááẠáááºááᯠá¡ááá¯á¡áá»á±á¬áẠááŒááºáá¯ááºááá²á
source: www.habr.com