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

标签 wordpress docker docker-compose containers port

我想在我的计算机上映射一些随机端口,例如localhost:7006到我的 WordPress docker 容器的 port 80 .当我从 80:80 更改 WordPress 的端口时至 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 的配置或 localhost保存在数据库中。因此,当我再次更改端口并运行 docker-compose up 时,我实际上将链接的 mysql db 容器中存储的 URL 与我的 WordPress 容器搞混了。

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

IMPORTANT: I am just playing with docker, so I don't want to save my volumes data. Anyone wanting to keep their data must not use the docker-compose down --volumes



它现在正在所需的端口上运行
enter image description here

关于wordpress - Docker:我无法将 80 以外的端口映射到我的 WordPress 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48825586/

相关文章:

windows - 无法将Windows Docker容器添加到 “run as administrator”

docker - 如何在Docker中设置Zookeeper dataDir(fig.yml)

docker - 连接docker容器

javascript - Wordpress Ajax - 始终返回 0

Wordpress 中的 CSS 子菜单居中对齐

bash - 在 Docker 容器启动时启动 bash 脚本不起作用

python - Gunicorn ModuleNotFound 错误,之前工作正常

django - Docker - psql : django. db.utils.OperationalError: FATAL: 角色 "admin"不存在

用于显示内容的 Php 循环

php - 如何在 AJAX 内容加载中使用 get_adjacent_post_rel_link()?