使用Docker配置多PHP环境
我想以这样一种方式配置我的机器,我可以轻松地在不同版本的php和mysql数据库上运行不同的项目。我的方法是使用集中式容器 我拉了下面的图片使用Docker配置多PHP环境,php,mysql,docker,docker-compose,dockerfile,Php,Mysql,Docker,Docker Compose,Dockerfile,我想以这样一种方式配置我的机器,我可以轻松地在不同版本的php和mysql数据库上运行不同的项目。我的方法是使用集中式容器 我拉了下面的图片 REPOSITORY TAG IMAGE ID CREATED SIZE bitnami/codeigniter 3 25da0598c415 2 hours ago 287MB
REPOSITORY TAG IMAGE ID CREATED SIZE
bitnami/codeigniter 3 25da0598c415 2 hours ago 287MB
php 7.1-apache 3aaef27a36f8 7 days ago 402MB
php 7.2-apache 071b437a2194 7 days ago 410MB
phpmyadmin/phpmyadmin latest 91490af22618 10 days ago 454MB
php 7.3-apache 5af347316d4b 2 weeks ago 410MB
mysql 5.6 b3983abaa3fe 2 weeks ago 302MB
mysql 5.7 cd3ed0dfff7e 2 weeks ago 437MB
mysql 8.0 c8ee894bd2bd 2 weeks ago 456MB
mysql latest c8ee894bd2bd 2 weeks ago 456MB
php 5.6-apache 24c791995c1e 9 months ago 355MB
php 7.0-apache aa67a9c9814f 10 months ago 368MB
在实践中,我使用上述图像创建了不同的容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e316ebbabad2 mysql:8.0 "docker-entrypoint.s…" 7 days ago Up 11 minutes 33060/tcp, 0.0.0.0:3308->3306/tcp mysql80
da8811e5b472 phpmyadmin/phpmyadmin "/docker-entrypoint.…" 7 days ago Up 11 minutes 0.0.0.0:8003->80/tcp pma80
3518f98e9fe7 phpmyadmin/phpmyadmin "/docker-entrypoint.…" 7 days ago Up 10 minutes 0.0.0.0:8002->80/tcp pma57
e3dbe9ec50b8 mysql:5.7 "docker-entrypoint.s…" 7 days ago Up 10 minutes 33060/tcp, 0.0.0.0:3307->3306/tcp mysql57
f0c2e8058b6c phpmyadmin/phpmyadmin:latest "/docker-entrypoint.…" 7 days ago Up 10 minutes 0.0.0.0:8001->80/tcp dbui56
b6cb467b7365 mysql:5.6 "docker-entrypoint.s…" 7 days ago Up 10 minutes 0.0.0.0:3306->3306/tcp
每个容器都映射到不同的端口:
MySQL5.6
MySQL5.7
MySQL8.0
假设我有一个项目a&B,我想使用php7.2和mysql5.7运行它,但我不想为它们中的每一个创建单独的数据库容器,相反,我想使用映射到的现有mysql5.7容器
CONTAINER ID IMAGE PORTS NAMES
e3dbe9ec50b8 mysql:5.7 33060/tcp, 0.0.0.0:3307->3306/tcp mysql57
是否可以将单个正在运行的容器链接到不同的容器?如果是,那怎么办
我想知道我的方法是正确的还是错误的?如果错了,那为什么呢?如果我在5个不同的项目上工作,每个项目都有自己的数据库容器和phpmyadmin,这不是浪费内存和空间吗。我不确定我真正想要的是可能的还是不可能的,读了很多文章,但仍然感到困惑,无法确定我应该从哪里开始。目前,我在使用Ubuntu18LTS的机器上使用不同版本的php fpm和apache