Penggunaan dan pemahaman tentang docker kini agak mengelirukan, dan saya ingin meminta nasihat semua orang.
Sebagai contoh:
Saya kini mempunyai sistem Linux dengan memori 8G.
Saya perlu menjalankan dua persekitaran pada sistem ini: persekitaran alfa dan beta.
Persekitaran alpha dan beta kedua-duanya menggunakan nginx dan mysql mereka sendiri.
Pemahaman saya sekarang ialah ada dua pilihan:
Pilihan 1:
创建两个 container:container_alpha,container_beta。 在两个container_alpha和container_beta和里面都安装好mysql和nginx
Pilihan 2:
创建四个 container,在四个container里面都**只**安装 alpha_mysql alpha_nginx beta_mysql beta_nginx
Untuk pilihan satu, konfigurasi, penggunaan dan pengurusan akan menjadi lebih mudah dan jelas.
Untuk pilihan 2, setiap kontena hanya sepadan dengan satu perkhidmatan. Saya tidak tahu sama ada ini lebih selaras dengan prinsip docker.
Atau mungkin pemahaman saya tentang docker masih belum betul, jadi apakah cara yang betul untuk menggunakan docker?
这取决于你把哪些当做一个服务,或"管理的单位"。
如果db+nginx+php总是一对一对一且彼此绑定,我觉得把这些当成一个服务也无不可。
如果数据库会有主从,读写分离之类东西,把一个mysql算一个服务会更方便。
另外方案2对扩展更友好,要改的时候不用拆image,只要改docker-compose 或其他配置即可。