Die Verwendung und das Verständnis von Docker sind jetzt etwas verwirrend und ich möchte alle um Rat fragen.
Zum Beispiel:
Ich habe derzeit ein Linux-System mit 8G Speicher.
Ich muss zwei Umgebungen auf diesem System ausführen: Alpha- und Beta-Umgebungen.
Alpha- und Beta-Umgebungen verwenden beide ihr eigenes Nginx und MySQL.
Mein derzeitiges Verständnis ist, dass es zwei Möglichkeiten gibt:
Option 1:
创建两个 container:container_alpha,container_beta。
在两个container_alpha和container_beta和里面都安装好mysql和nginx
Option 2:
创建四个 container,在四个container里面都**只**安装
alpha_mysql
alpha_nginx
beta_mysql
beta_nginx
Bei Option eins werden Konfiguration, Nutzung und Verwaltung viel einfacher und übersichtlicher.
Bei Option 2 entspricht jeder Container nur einem Dienst. Ich weiß nicht, ob dies eher den Prinzipien von Docker entspricht.
Oder vielleicht ist mein Verständnis von Docker noch nicht korrekt. Wie verwende ich Docker also richtig?
这取决于你把哪些当做一个服务,或"管理的单位"。
如果db+nginx+php总是一对一对一且彼此绑定,我觉得把这些当成一个服务也无不可。
如果数据库会有主从,读写分离之类东西,把一个mysql算一个服务会更方便。
另外方案2对扩展更友好,要改的时候不用拆image,只要改docker-compose 或其他配置即可。