Docker撰写 - 从URL中删除端口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker撰写 - 从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实现这一目标?

我已经尝试按照以下方式尝试:

  1. 我已将行添加到文件/ etc / hosts 127.0.0.1 mysite.com
  2. 我停止apache2自由端口80 sudo service apache2 stop
  3. 然后我设置我的docker-compose.yaml文件,将wordpress暴露给端口80并运行。
  4. 向后验证:sudo netstat -tulpn | grep :80和是的! Wordpress图像在端口80上运行。

然后,当我尝试继续使用localhost或mysite.com时,我立即被重定向到localhost:8000,浏览器显示我找不到该页面。我勒个去?

我很沮丧,因为我真的需要一个没有端口的地址。我会很高兴有关如何实现这一目标的任何建议。

答案

您描述的行为可能是由于浏览器已在先前会话中缓存此重定向。尝试使用其他浏览器,确保它不进行任何重定向。

以上是关于Docker撰写 - 从URL中删除端口的主要内容,如果未能解决你的问题,请参考以下文章

Docker 和 Spring Boot:如何从 url 隐藏端口?

Node.js - 如何从 url 中删除端口? [关闭]

.NET Core/SQL Server docker 撰写网络问题

Docker撰写:允许服务之间的网络交互

Docker删除报错:Error response from daemon: conflict: unable to delete 08b152afcfae (must be forced)(代码片段

如果连接器端口是 8081,如何从 apache tomcat 中的 URL 中删除端口号