هل Docker لعبة أم لا؟ أم أنها حقا كذلك؟

مرحبا بالجميع!


أريد حقًا أن أبدأ الموضوع على الفور ، لكن من الأفضل أن أخبر قليلاً عن قصتي:


دخول


أنا مبرمج مع خبرة في تطوير تطبيقات الواجهة أحادية الصفحة ، scala / java و nodejs على الخادم.


لبعض الوقت (كان الأمر بالضبط بضع إلى ثلاث سنوات) ، كنت أرى أن عامل الإرساء هو من السماء وأداة رائعة جدًا بشكل عام ، ويجب أن يكون كل مطور قادرًا على استخدامه. ومن هذا يتبع أن كل مطور يجب أن يكون لديه عامل تشغيل على الجهاز المحلي. ما هو رأيي ، أنت تنظر من خلال الشواغر التي يتم نشرها على نفس سمو. في كل ثانية هناك إشارة حول عامل ميناء وإذا كنت تملكه - فستكون هذه ميزة تنافسية لك ؛)


في طريقي ، قابلت العديد من الأشخاص ، بمواقفهم المختلفة تجاه عامل الميناء ونظامه البيئي. قال البعض أن هذا شيء مناسب يضمن منصة مشتركة. والثاني لم يفهم لماذا يجب أن يركضوا في حاويات وما الذي يربحون من ذلك ، والثالث لم يهتم على الإطلاق ولم يبخروا (فقط كتب الكود وذهبوا إلى المنزل - أحسدهم ، بالمناسبة :))


أسباب الاستخدام


لماذا استخدم عامل ميناء؟ ربما للأسباب التالية:


  • إطلاق قاعدة البيانات ، 99 ٪ من التطبيقات استخدامها
  • إطلاق nginx لتوزيع الواجهة الأمامية والوكيل إلى الواجهة الخلفية
  • يمكنك حزم التطبيق في صورة عامل ميناء ، لذلك سيعمل طلبي أينما وجد ، يتم حل مشكلة التوزيع على الفور
  • اكتشاف الخدمة من خارج منطقة الجزاء ، يمكنك القيام بالخدمات الدقيقة ، كل حاوية (متصلة بشبكة مشتركة) يمكن أن تصل بسهولة إلى أخرى بالاسم المستعار ، مريحة للغاية
  • من الممتع إنشاء حاوية و "التجول" فيها.

ما كنت دائما لا أحب حول عامل ميناء:


  • لكي يعمل طلبي ، هناك حاجة إلى عامل ميناء في الخادم. ولماذا أحتاج إلى ذلك إذا كانت التطبيقات الخاصة بي تعمل على jre أو nodejs وكانت البيئة الخاصة بها موجودة بالفعل على الخادم؟
  • () , docker , - registry https, docker cli https. … , , docker save scp … . "" ,
  • docker-compose. . . . Docker-compose , . , . .
  • , Dockerfile , , , dockerhub , - docker-compose . , docker , HR : " docker "
  • docker : postgresql, kafka, redis. , , . , . , docker, , - ?
  • . , docker volume data container deprecated? , uid gid id , , , root. volume, /usr/* uid gid . , : " ?"


, docker- : , , Makefile, docker . docker-compose, docker. docker-compose up , , build , . , — . docker.


Ansible


( ), DevOps , , docker. :


  • docker iptables ( daemon.json)
  • docker
  • docker daemon , ,
  • docker
  • docker , Ansible

— Ansible. - , . ! : Ansible docker , , ., , ! — Makefile docker-compose , yaml . loop, when, etc.


Docker


ssh . , "" . , , VirtualBox. ( ), , . , , docker .


postgresql:


ssh -L 9000:localhost:5432 user@example.com

. , postgresql, c docker . docker, . — ssh !


, SSH — VPN! OpenVPN VPN, . !


, AWS, GoogleCloud , , ! , , . , gcloud, , .


localhost Alpine docker . - , .


: virtualbox. docker .


docker


, , docker . Docker docker . docker docker .


-, docker ?
— , docker , . , dockerhub ? , nginx, 100500 . nginx, docker nginx .


tgz, - docker, Dockerfile tgz, , tgz. , docker , , tgz . docker


: docker registry, S3 google drive/dropbox


Docker CI


, , . , , . - , ( — ).


docker CI . — docker ? , Ansible , nodejs, php, jdk, ssh . , ?


, , docker . CI docker :


  • docker . dockerfile.
  • 90%, - ssh , , docker .
  • , . , , — .

docker ( — , xD ). java , . nodejs , nvm.



docker , ( , ). "" , . , , CI, . DevOps .


docker , . . , .


docker : docker


- docker, :


  • docker
  • , Dockefile docker-compose

PS:



, , !

Source: https://habr.com/ru/post/ar445914/


All Articles