Halo semuanya!
Saya benar-benar ingin memulai topik itu segera, tetapi lebih baik untuk menceritakan sedikit tentang kisah saya:
Entri
Saya seorang programmer dengan pengalaman mengembangkan aplikasi halaman depan frontend, scala / java dan nodejs di server.
Untuk beberapa waktu (sudah persis dua hingga tiga tahun), saya berpendapat bahwa buruh pelabuhan adalah manna dari surga dan alat yang sangat keren secara umum, dan tentu saja setiap pengembang harus dapat menggunakannya. Dan dari sini dapat disimpulkan bahwa setiap pengembang harus memiliki buruh pelabuhan pada mesin lokal. Ada apa dengan pendapat saya, Anda melihat melalui lowongan yang diposting pada jam yang sama. Dalam setiap detik ada disebutkan tentang buruh pelabuhan dan jika Anda memilikinya - ini akan menjadi keunggulan kompetitif Anda;)
Dalam perjalanan, saya bertemu dengan banyak orang, dengan sikap mereka yang berbeda terhadap buruh pelabuhan dan ekosistemnya. Beberapa mengatakan bahwa ini adalah hal yang nyaman yang menjamin cross-platform. Yang kedua tidak mengerti mengapa mereka harus berlari dalam wadah dan apa untungnya dari ini, yang ketiga tidak peduli sama sekali dan mereka tidak uap (hanya menulis kode dan pulang - saya iri dengan mereka, omong-omong :))
Alasan untuk digunakan
Mengapa saya menggunakan buruh pelabuhan? Mungkin karena alasan berikut:
- peluncuran basis data, 99% aplikasi menggunakannya
- luncurkan nginx untuk mendistribusikan frontend dan proxy ke backend
- Anda dapat mengemas aplikasi dalam gambar buruh pelabuhan, jadi aplikasi saya akan bekerja di mana pun buruh pelabuhan, masalah distribusi diselesaikan segera
- penemuan layanan di luar kotak, Anda dapat melakukan layanan microser, setiap wadah (terhubung ke jaringan umum) dapat dengan mudah mencapai yang lain dengan alias, sangat nyaman
- itu menyenangkan untuk membuat wadah dan "bermain-main" di dalamnya.
Apa yang saya selalu TIDAK suka tentang buruh pelabuhan:
- agar aplikasi saya berfungsi, buruh pelabuhan itu sendiri diperlukan di server. Dan mengapa saya perlu ini jika aplikasi saya berjalan di jre atau nodejs dan lingkungan untuk mereka sudah ada di server?
- () , 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:
, , !