Docker compone: Simpliciorem tuum Opus Using Makefiles

Singulis paucis annis, progressionis industria programmatum exemplar mutationem patitur. Una ex his phaenomenis cognosci potest sicut incrementum studii conceptus microservices. Etsi microservices technologiae novissimae non sunt, nuper tantum popularis literam skyrocketed suam habet.

Magnae officia monolithica nunc substituuntur per micro servitia independentia autonoma. Microservatio parva cogitari potest de applicatione quae uni et subtilissimo fini inservit. Exempli gratia, DBMS relationis, applicatio expressa, servitium Solr.

Docker compone: Simpliciorem tuum Opus Using Makefiles

His diebus difficile est fingere novam systema programmatum sine microservices utendo. Haec res vicissim nos ad suggestum Docker ducit.

Docker

platform Dockerin evolutione et instruere operarum microform, propemodum norma industriae facta est. In website project potes cognoscere Docker solum independentem esse suggestum continentisationi, quod Instituta sine labore omnem applicationem creare, ac distribuere ac currere in quavis ambitu - ab nubibus hybridis ad marginem systematis.

Epistola Docker

Technology Epistola Docker disposito Vestibulum multi-continens applicationes. Docker Componere consilium potest tot continentes Docker continentes quot auctor auctor eget.

Cum opus cum Docker Componere, fasciculus YAML ad applicationes usus configurare et eorum commercium inter se componere. Docker Componere igitur instrumentum est ad multi- vasorum applicationes ad describendas et ad currendum Docker.

Docker compone: Simpliciorem tuum Opus Using Makefiles
Duo vasa currens in exercitum systematis

GNU make

progressio makeessentialiter instrumentum ad programmata et bibliothecas aedificandas e fonte codice automandi. Fere possumus dicere make applicabilis est ad quemvis processum qui infert mandata arbitraria exequenda, ut materiam aliquam inputationem ad aliquam formam output, ad aliquem metam transfundat. In nobis, mandata docker-compose transformabitur in proposita abstracta (Phone scuta).

Dicere progressio make de eo quod velimus, lima nobis opus est Makefile.

In nostro Makefile continebit iustum imperium docker ΠΈ docker-composequae ad multas difficultates solvendas ordinantur. Nempe loquimur de coeundi vase, de incipiendo, claudendo, deprimendo, de ordinando login utentis continentis, de operando cum tigna, et de solvendis aliis similibus quaestionibus.

Typical Usus Causae pro Docker compone

Cogitemus iustam applicationem telam quae sequentium partium habet:

  • TimescaleDB database (Postgres).
  • Applicatio express.js.
  • Ping (modo vas, nihil speciale facit).

Haec applicatione opus erit 3 vasis Docker et lima docker-composequae contineat mandatis his vasis administrandi. Singula continens puncta diversa habebunt. Verbi gratia, cum vase timescale fere eodem modo operari poterit ut cum databases operantur. Nimirum tibi permittit ut sequentes actiones exsequaris;

  • Logging into the Postgres testam.
  • Tabulae importare et exportare.
  • creatura pg_dump mensae vel databases.

Applicatio express.js continens; expressjshabeatis sequentes facultates;

  • Novas notitias e stipes systematis praebens.
  • Positum testam ad facienda mandata.

Interacting cum Containers

Cum communicationem constituimus inter vasa utens Docker Componere, tempus est cum illis vasis communicare. In Docker compone ratio est mandatum docker-compose, optio supporting -f, quod te permittit ut fasciculum ad systema transferas docker-compose.yml.

Facultates huius optionis utens, commercium cum systemate limitare potes solum illis vasis quae in tabella nominantur docker-compose.yml.

Inspice quid interationes cum vasis vide ut cum usura mandata docker-compose. Si fingimus nos in concha necesse esse stipes psqltunc mandata debita viderentur;

docker-compose -f docker-compose.yml exec timescale psql -Upostgres

Idem mandatum non est faciendum docker-composequod dockerviderem sic;

docker exec -it  edp_timescale_1 psql -Upostgres

Nota quod in talibus semper praeferendum est uti praecepto dockeret mandatum docker-composeet sic excludit necessitatem reminiscendi nomina continens.

Utrumque praeceptum praemissorum non est difficile. Sed si "involucra" in forma usus est Makefilequae nobis in forma mandatorum simplicium praeberet, et ipsa similia longa mandata vocaret, tum idem eventus sic fieri posset;

make db-shell

Apparet, usum Makefile quanto facilius vasis laborat!

exemplum opus

Fundatur in schemate supra projecto, hunc fasciculum creabimus 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

Ad Docker regere configurationem compone et cum vasis quibus describit penitus, hunc fasciculum creabimus 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

Pleraque mandata hic descripta applicant omnibus vasis, optione usus c= sino te limitare ambitum mandati ad unum continentem.

Post Makefile paratus, uti potes;

  • make help - fiebant index omnium mandatorum available for make.

Docker compone: Simpliciorem tuum Opus Using Makefiles
Auxilium praesto ad imperium

  • make build - simulacrum e Dockerfile. In exemplo nostro imagines usus est timescale ΠΈ ping. sed imago api colligere volumus localiter. Hoc ipsum est, quod post mandatum hoc fiet.

Docker compone: Simpliciorem tuum Opus Using Makefiles
Aedificationem Docker continens

  • make start β€” omnibus vasis deductis. Ad unum solum deducunt continentem, sicut praeceptum uti potes make start c=timescale.

Docker compone: Simpliciorem tuum Opus Using Makefiles
Currens timescale continens

Docker compone: Simpliciorem tuum Opus Using Makefiles
Currentem in ping continens

  • make login-timescale - login ut vercundus sessionem continentis timescale.

Docker compone: Simpliciorem tuum Opus Using Makefiles
Vercundus currit in vase timescale

  • make db-shell - introitus to psql in vas timescale facere SQL quaero contra datorum.

Docker compone: Simpliciorem tuum Opus Using Makefiles
Currentem psql in timescaledb continens

  • make stop β€” sinc vasis.

Docker compone: Simpliciorem tuum Opus Using Makefiles
Restitit timescale continens

  • make down β€” vasis desinendi et removendi. Ut vas specificum removeas, hoc mandatum uti potes ut continens desideratum denotans. Exempli gratia - make down c=timescale aut make down c=api.

Docker compone: Simpliciorem tuum Opus Using Makefiles
Reprimendis et delendo omnia vasa

results

Quamvis Docker Componere nobis mandatum opulentum dat pro vasis administrandis, interdum haec mandata longa et difficilia esse possunt meminisse.

Modus usus Makefile adiuvisti nos constituere vivos et faciles commercium cum vasis ex lima docker-compose.yml. Nempe de his loquimur;

  • Elit interacts solum cum vasis exertis descriptis docker-compose.ymlopus non impedit aliis vasis decursibus.
  • In eventu, ut mandatum quoddam oblitus est, mandatum exequi potes make help atque auxilium praesto mandata.
  • Non meministi longas argumentorum indices ad actiones exercendas sicut recentissimas iniuriarum viscus vel colligationem in systemate comparare. Exempli gratia, praeceptum simile docker-compose -f docker-compose.yml exec timescale psql -Upostgres vertit in make db-shell.
  • lima Makefile Mollius potes ad eam accommodare sicut res increscit. Exempli causa, facile est mandatum addere ut tergum database vel aliam actionem exerceat.
  • Si magna team of developers eodem utitur Makefilehic rivos collaborationem et errores minuit.

PS In nostro forum ibi imago Dockerquae in uno clic institui potest. Vos can reprehendo operatio vasorum in VPS. Omnes clientes novi dantur 3 diebus probationis gratis.

Carissimi legentibus! Quomodo tu compone automate Docker?

Docker compone: Simpliciorem tuum Opus Using Makefiles

Source: www.habr.com