Docker:我无法将 80 以外的端口映射到我的 WordPress 容器

2024-02-08

我想在我的计算机上映射一些随机端口,例如localhost:7006到我的 WordPress docker 容器port 80.当我更改 WordPress 的端口时80:80 to 7006:80它不仅停止工作localhost(port 80)但也不回应localhost:7006.

docker-compose.yml文件看起来像这样:

        version: '3'
    services:
      wordpress:
        depends_on:
          - db
        image: wordpress:4.7.1
        restart: always
        volumes:
          - ./wp-content:/var/www/html/wp-content 
        environment:
          WORDPRESS_DB_HOST: db:3306
          WORDPRESS_DB_PASSWORD: p4ssw0rd!
        ports:
          - 80:80 # Expose http and https
          - 8443:443
        networks:
          - wp_nwk
      db:
        image: mysql:5.7
        restart: always
        volumes:
           - db_data:/var/lib/mysql
        environment:
          MYSQL_ROOT_PASSWORD: p4ssw0rd!
        networks:
          - wp_nwk
      phpmyadmin:
        depends_on:
          - db
        image: phpmyadmin/phpmyadmin
        restart: always
        ports:
          - 7005:80
        environment:
          PMA_HOST: db
          MYSQL_ROOT_PASSWORD: p4ssw0rd!
        networks:
          - wp_nwk
    networks:
      wp_nwk:
    volumes:
      db_data:

经过一番研究后,我发现 WordPress 容器只设置一次端口,因为它需要保存 URL(localhost:7006)在数据库中,因为我正在保存数据库数据。

我跑了docker-compose up使用默认端口一次80:80导致的配置localhost:80 or localhost保存在数据库中。所以当我再次更改端口并运行时docker-compose up,实际上,我用我的 WordPress 容器搞乱了链接的 mysql db 容器中存储的 URL。

I ran docker-compose down --volumes(这会导致持久数据破坏) 然后在 docker-compse.yml 中更改了 WordPress 容器的端口。再次运行以下命令在端口 7006 上创建了我的 WordPress 容器(localhost:7006). docker-compose up

wordpress:
depends_on:
  - db
image: wordpress:4.7.1
restart: always
volumes:
  - ./wp-content:/var/www/html/wp-content 
environment:
  WORDPRESS_DB_HOST: db:3306
  WORDPRESS_DB_PASSWORD: p4ssw0rd!
ports:
  - 7006:80 # Expose http and https
  - 8443:443
networks:
  - wp_nwk

重要提示:我只是在玩 docker,所以我不想保存我的 卷数据。任何想要保留其数据的人都不得使用docker-compose down --volumes

It's running on the desired port now enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker:我无法将 80 以外的端口映射到我的 WordPress 容器 的相关文章

随机推荐