Docker 撰写 - 从 URL 中删除端口
Docker compose - get rid of port from URL
我正在使用以下 docker docker-compose.yaml:
version: '3.3'
services:
# Database
db:
image: mysql:latest
command: --default_authentication_plugin=mysql_native_password
ports:
- '3306:3306'
volumes:
- db_data:/var/lib/mysql
restart: on-failure
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: password
networks:
- wpsite
# phpmyadmin
phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin
restart: on-failure
ports:
- '8080:80'
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: password
networks:
- wpsite
# Wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- '8081:80'
restart: on-failure
volumes: ['./:/var/www/html']
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: password
networks:
- wpsite
networks:
wpsite:
volumes:
db_data:
我在 Ubuntu,当我 运行 时一切正常。然后我可以从地址 localhost:8081.
访问我的 wordpress 站点
这是我的问题,因为我的工作需要 URL 地址而不带端口。最好使用一些主机名。
有没有办法与 docker 一起实现?
我已经按照以下方法尝试过,但没有成功:
- 我在文件中添加了行 /etc/hosts
127.0.0.1 mysite.com
- 我停止了 apache2 以释放端口 80
sudo service apache2 stop
- 然后我设置我的 docker-compose.yaml 文件以将 wordpress 公开到端口 80 和 运行 in.
- 后向验证:
sudo netstat -tulpn | grep :80
是的! Wordpress 图像 运行ning 在端口 80 上。
然后,当我尝试继续访问本地主机或 mysite.com 时,我立即被重定向到 localhost:8000,浏览器显示找不到该页面。什么鬼?
我很沮丧,因为我真的需要一个没有端口的地址。我很乐意就如何实现这一目标提出任何建议。
您描述的这种行为可能是由于浏览器已经在之前的会话中缓存了此重定向。尝试使用不同的浏览器,确保它不会进行任何重定向。
我正在使用以下 docker docker-compose.yaml:
version: '3.3'
services:
# Database
db:
image: mysql:latest
command: --default_authentication_plugin=mysql_native_password
ports:
- '3306:3306'
volumes:
- db_data:/var/lib/mysql
restart: on-failure
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: password
networks:
- wpsite
# phpmyadmin
phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin
restart: on-failure
ports:
- '8080:80'
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: password
networks:
- wpsite
# Wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- '8081:80'
restart: on-failure
volumes: ['./:/var/www/html']
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: password
networks:
- wpsite
networks:
wpsite:
volumes:
db_data:
我在 Ubuntu,当我 运行 时一切正常。然后我可以从地址 localhost:8081.
访问我的 wordpress 站点这是我的问题,因为我的工作需要 URL 地址而不带端口。最好使用一些主机名。
有没有办法与 docker 一起实现?
我已经按照以下方法尝试过,但没有成功:
- 我在文件中添加了行 /etc/hosts
127.0.0.1 mysite.com
- 我停止了 apache2 以释放端口 80
sudo service apache2 stop
- 然后我设置我的 docker-compose.yaml 文件以将 wordpress 公开到端口 80 和 运行 in.
- 后向验证:
sudo netstat -tulpn | grep :80
是的! Wordpress 图像 运行ning 在端口 80 上。
然后,当我尝试继续访问本地主机或 mysite.com 时,我立即被重定向到 localhost:8000,浏览器显示找不到该页面。什么鬼?
我很沮丧,因为我真的需要一个没有端口的地址。我很乐意就如何实现这一目标提出任何建议。
您描述的这种行为可能是由于浏览器已经在之前的会话中缓存了此重定向。尝试使用不同的浏览器,确保它不会进行任何重定向。