Docker: malum consilium

Docker: malum consilium

Cum discerem raedam agere, instructor prima lectionis in intersectionem transversam egit, deinde dixit ne id faceres - numquam. Hanc regulam statim et reliquae vitae meae recordatus sum.

"Malum consilium" a Grigory Oster pueris legitis, et vides quam facile et naturaliter illis inlucescat ut hoc non faciant.

Articuli multum scripta sunt quomodo Dockerfile recte scriberet. Sed mandatum non veni quomodo Dockerfiles falsa scriberem. Lacunam hanc impleo. Et fortasse in inceptis quae suscipio subsidiis, pauciores erunt dockerfiles.

Omnes characteres, condiciones et Dockerfile ficticiae sunt. Si te cognoscis, doleo.

Dockerfile creando ominosus et terribilis

Petrus (Senior java/rubby/php elit): Collague Vasily, vidistine iam novum modulum in Docker uploaded?
Vasily (junior): Imo tempus non habui, cum hoc Docker non possum videri. Tot sunt articuli in eo, vertigint.

Petrus: Habuimus ante annum fatale. Te adiuvet, nos in processu viderimus. Dic mihi quid tibi non opus sit.

Vasily: Imaginem fundamentalem eligere non possum ut minima sit, sed omnia quae opus est habet.
Petrus: Decuria imaginem accipite, omne opus habet. Et quod multum supervacaneum est, postea in promptu erit. Et noli oblivisci tag recentissimam versionem semper postremam ponere.

Et prima linea in Dockerfile apparet:

FROM ubuntu:latest

Petrus: Quid deinde, quid moduli nostri scribere utebamur?
Vasily: Sic sardius, textus serviens est et duo servitii daemones immitti debent.
Peter: Yeah, quid opus est: rubinus, fasciculus, nodejs, imagemagick et quid aliud... Et simul, upgrade ut certus novas sarcinas accipere.
Vasily: Nec usorem creamus ut sub radice non simus?
Petrus: Fuck is, tum etiam habes cum stulte iura.
Vasily: Tempus necessarium est, circiter 15 minuta, omnia in unum praeceptum ponere, id lego...
(Petrus anxium et callidissimum juniorem obloquitur).
Petrus: Scribe in singulis praeceptis facilius legeris.

Dockerfile nascitur;

FROM ubuntu:latest
RUN apt-get update
RUN apt-get upgrade
RUN apt-get -y install libpq-dev imagemagick gsfonts ruby-full
RUN gem install bundler
RUN curl -sL https://deb.nodesource.com/setup_9.x | sudo bash -
RUN apt-get install -y nodejs
RUN bundle install --without development test --path vendor/bundle
RUN rm -rf /usr/local/bundle/cache/*.gem 
RUN apt-get clean 
RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

Tunc Igor Ivanovich, DevOps (sed plus Opis quam Dev), in officium clamans prorumpit;

AI: Petya, tincidunt cibum datorum iterum fregit, quando hic finis erit.

Post parvam velitationem Igor Ivanovich refrigerat et explorare incipit quid hic agant collegae.

AI: Quid facitis?
Vasily: Petrus adiuvat me Dockerfile novum moduli creare.
AI: Vide me vide... Quid hic scripsisti, repositorium cum separato mandato purgas, hoc iacuit adiectis... Sed quomodo clientelas instituis si Gemfile non exscripsisti! Et generaliter hoc nullum est bonum.
Petrus: Abi de tuis rebus, nos aliquo modo viderimus.

Igor Ivanovich suspirat tristis et relinquit ad instar datorum qui fregit.

Petrus: Ita, sed recte de codice, in imagine impellere necesse est. Et statim ssh et supervisorem instituamus, alioquin daemones incipiemus.

Vasily: Tunc primum Gemfile et Gemfile.lock effingam, deinde omnia instituam, deinde totum consilium describebo. Si Gemfile non mutatur, lavacrum e cella capietur.
Petrus: Cur omnes his stratis, simul omnia imitamini. Effingo statim. Prima acies.

Dockerfile nunc hoc spectat:

FROM ubuntu:latest
COPY ./ /app
WORKDIR /app
RUN apt-get update
RUN apt-get upgrade
RUN apt-get -y install libpq-dev imagemagick gsfonts ruby-full ssh supervisor
RUN gem install bundler
RUN curl -sL https://deb.nodesource.com/setup_9.x | sudo bash -
RUN apt-get install -y nodejs

RUN bundle install --without development test --path vendor/bundle
RUN rm -rf /usr/local/bundle/cache/*.gem 
RUN apt-get clean 
RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 

Petrus: Quid ergo? Configs praefecti habetis?
Vasly: ​​Non, non. Sed faciam ocyus.
Petrus: Tunc facies. Nunc delineemus scripturam initialem quae omnia deducet. Bene, sic incipias ssh, cum nohup, ut coniungere possumus ad continentem et videre quid erravit. Tunc praefecti eodem modo currunt. Bene ergo vector currit iustus.
Q: Sed lego unum processum esse, sic Docker sciet aliquid errasse et vas sileo posse.
P: Noli vexare caput tuum ineptiis. Et generaliter, quomodo? Quomodo haec omnia in uno processu curris? De stabilitate cogitet Igor Ivanovich, non gratis quod salarium accipit. Nostrum officium est codicem scribere. Et generaliter dicat gratias quod pro eo scripsimus Dockefile.

10 minuta et duo videos de felibus postea.

Q: Ego feci omnia. Plures commentarios addidi.
P: Ostende mihi!

Ultima versio Dockerfile:

FROM ubuntu:latest

# ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ исходный ΠΊΠΎΠ΄
COPY ./ /app
WORKDIR /app

# ОбновляСм список ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²
RUN apt-get update 

# ОбновляСм ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹
RUN apt-get upgrade

# УстанавливаСм Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹
RUN apt-get -y install libpq-dev imagemagick gsfonts ruby-full ssh supervisor

# УстанавливаСм bundler
RUN gem install bundler

# УстанавливаСм nodejs ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для сборки статики
RUN curl -sL https://deb.nodesource.com/setup_9.x | sudo bash -
RUN apt-get install -y nodejs

# УстанавливаСм зависимости
RUN bundle install --without development test --path vendor/bundle

# Чистим Π·Π° собой кэши
RUN rm -rf /usr/local/bundle/cache/*.gem 
RUN apt-get clean 
RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 

# ЗапускаСм скрипт, ΠΏΡ€ΠΈ стартС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запустит всС ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅.
CMD [β€œ/app/init.sh”]

P: Magna, placet. Et commentaria in Russica, opportuna et lecta, omnes sic operabuntur. Omnia te docui, cetera te facere potes. Eamus aliquam capulus...

Bene, nunc habemus Dockerfile valde terribilem, cuius aspectus Igor Ivanovich quietum facere cupit et oculi eius in alia septimana laedent. Dockerfile quidem peius esse, nullus modus perfectionis est. Sed sed mauris enim, id efficitur enim.

Velim ad finem cum auctoritate Grigory Oster:

Si tu nondum certus
Viam vitae elegimus;
Et nescis quare
Incipit labor iter
Lumen bulbi frange in erro -
Dicent tibi gratias.
Populus auxiliatus es
Servare electricitatem.

Source: www.habr.com