使用PHP,MySQL,nginx同时运行多个Dockerize项目
|
问题 我有使用相同配置(PHP,MySQL,nginx)的docker-compose配置的项目.当我使用docker-compose运行一个项目时没有问题,但我需要每天在它们之间切换几次以进行开发. 问题: > nginx的相同端口的共享配置 我有 >适用于Mac的Docker – 边缘 目前 现在只需每次都上下运行-v. 思路 负载均衡器 其中一个想法是在主文件夹工作区中创建配置,docker-compose与一些loadbalancer,这将是一些规则将为给定项目生成域,其中volume为主文件夹,并且有一个MySql服务器和几个DB – 但这是一个原始想法. 题 什么解决方案适用于特定情况? >提出任何结构或泊坞窗配置来解决独立配置? 更新 我的docker-compose文件 版本:’2.1′ dev的单服务器设置 services:
app:
image: ${PHP_IMAGE}
volumes:
- ${COMPOSE_DIR}/../../:/var/www:cached
- ${COMPOSER_HOME}:/root/.composer:cached
depends_on:
- db
environment:
- SYMFONY_ENV=${SYMFONY_ENV-prod}
- SYMFONY_DEBUG
- SYMFONY_HTTP_CACHE
- SYMFONY_HTTP_CACHE_CLASS
- SYMFONY_TRUSTED_PROXIES
- DATABASE_USER
- DATABASE_PASSWORD
- DATABASE_NAME
- DATABASE_HOST=db
web:
image: ${NGINX_IMAGE}
volumes_from:
- app:ro
ports:
- "8080:80"
environment:
- SYMFONY_ENV=${SYMFONY_ENV-prod}
- MAX_BODY_SIZE=20
- FASTCGI_PASS=app:9000
- TIMEOUT=190
- DOCKER0NET
command: /bin/bash -c "cd /var/www && cp -a doc/nginx/ez_params.d /etc/nginx && bin/vhost.sh --template-file=doc/nginx/vhost.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"
db:
image: ${MYSQL_IMAGE}
volumes:
- ${COMPOSE_DIR}/entrypoint/mysql:/docker-entrypoint-initdb.d/:ro
environment:
- MYSQL_RANDOM_ROOT_PASSWORD=1
- MYSQL_USER=$DATABASE_USER
- MYSQL_PASSWORD=$DATABASE_PASSWORD
- MYSQL_DATABASE=$DATABASE_NAME
- TERM=dumb
鉴于此,正如我所说,我希望运行具有不同PHP版本的项目.每个都有相同的nginx配置,然后需要以某种方式有可能轻松和同时运行它们. 理解@Vladimir Kovpak的答案,但手动这种方式会产生很多工作. 什么是完美的 场景1 >转到项目,运行命令以通过docker-compose正确构建 >可以做开发工作 >运行命令关闭项目 情景2 >转到项目,运行命令以通过docker-compose正确构建 >可以做开发工作 >运行命令关闭项目 可以同时使用所有项目. Portainer本身就是一个docker机器,所以我在机器启动时启动它,然后在Web浏览器中我可以看到我已经设置的MySQL,PHP和phpmyadmin容器.您可以单独启动和停止它们,也可以通过浏览器将控制台执行到机器中. 浏览器还会显示机器使用情况统计信息,IP地址和端口转发详细信息,以及浏览器中的大量有用信息. 最后,它还允许您远程管理docker机器,因此我使用docker设置我的桌面,我可以管理笔记本电脑上的容器. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
