docker - 如何在 localhost 中将 phpmyadmin 作为域打开?
问题描述
我有一个包含 nginx、mysql 和 phpmyadmin 的 docker-compose 文件。phpmyadmin8080
也在此地址的端口中打开mydomain.com:8080
。
如何将此地址转换为我的服务器http://phpmyadmin.mydomain.com
或http://pma.mydomain.com
在我的服务器中?
我使用了这个 docker-compose 文件:
version: '3'
services:
#PHP Service
app:
build:
context: .
dockerfile: ./Dockerfile/Dockerfile
container_name: app
restart: unless-stopped
tty: true
environment:
SERVICE_NAME: app
SERVICE_TAGS: dev
working_dir: /var/www
volumes:
- ./Beh:/var/www
- ./Config/php/local.ini:/usr/local/etc/php/conf.d/local.ini
networks:
- app-network
#Nginx Service
webserver:
image: nginx:alpine
container_name: webserver
restart: unless-stopped
tty: true
ports:
- "80:80"
# - "443:443"
volumes:
- ./Beh:/var/www
- ./Config/nginx/conf.d/:/etc/nginx/conf.d/
networks:
- app-network
database:
image: mariadb:latest
container_name: database
environment:
- "MYSQL_USERNAME=root"
- "MYSQL_ROOT_PASSWORD=secret"
ports:
- "3306:3306"
networks:
- app-network
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: phpmyadmin
environment:
- "MYSQL_USERNAME=root"
- "MYSQL_ROOT_PASSWORD=secret"
- "PMA_HOST=database"
links:
- database
ports:
- "8080:80"
networks:
- app-network
#Docker Networks
networks:
app-network:
driver: bridge
#Volumes
volumes:
dbdata:
driver: local
我不知道如何配置 nginx 文件来实现这个目标。
解决方案
您可以使用 repo -> https://github.com/jwilder/nginx-proxy 这是我用来为每个项目创建新的本地域名的方法。您必须将“VIRTUAL_HOST”添加到环境中,公开端口(“expose:80”)并在 /etc/hosts 中添加新域。
推荐阅读
- wordpress - 从自定义 wordpress 配置文件连接到 mysql docker 服务
- python - 带有关键字args的python函数问题
- python - 如何在python中的两个不同y轴上绘制两个变量?
- php - MySQL 选择语句不适用于`*`
- python - Python中sklearn包中的Gaussianmixture有什么问题?
- node.js - 有什么方法可以将 .xlsx 文件导入 nodejs 并使用 mongodb 作为数据库?
- amazon-web-services - 使用 AWS SQS 和 Lambda 作为消费者的优先级队列
- dart - 在颤振的一个列表中加载5个视频
- c# - 具有确切字符数的表单验证
- c# - 如何按名称将现有表单动态添加到集合中