Docker-全功能WordPress(WP+;DB+;PHPMyAdmin)

Docker-全功能WordPress(WP+;DB+;PHPMyAdmin),php,wordpress,docker,Php,Wordpress,Docker,我尝试使用mariaDB和PHPMyAdmin在容器上提供完整的wordpress服务。我只能在网上找到过时的(如v1 docker compose)帮助 我尝试使用这个docker-compose.yml文件: version: '2' services: wordpress: image: wordpress:latest networks: - front - back ports: - 8080:80 environ

我尝试使用mariaDB和PHPMyAdmin在容器上提供完整的wordpress服务。我只能在网上找到过时的(如v1 docker compose)帮助

我尝试使用这个docker-compose.yml文件:

version: '2'
services:
  wordpress:
    image: wordpress:latest
    networks:
      - front
      - back
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: wpdb
      WORDPRESS_TABLE_PREFIX: wp_
      WORDPRESS_DB_HOST: wordpress_db
    volumes:
      - ./wordpress-data:/var/www/html
      - ./php/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
  wordpress_db:
    image: mariadb:latest
    environment:
      MYSQL_ROOT_PASSWORD: examplepass
    volumes:
      - wordpress-db-data:/var/lib/mysql
    networks:
      - back
  phpmyadmin:
    image: phpmyadmin/phpmyadmin:latest
    networks:
      - back
    ports:
      - 8181:80
    environment:
      MYSQL_USERNAME: root
      MYSQL_ROOT_PASSWORD: examplepass
      PMA_HOST: wordpress_db
volumes:
    wordpress-db-data:
      driver: local
networks:
  front:
  back:
编辑的文件:

version: '2'
services:
  wordpress:
    image: wordpress:latest
    networks:
      - front
      - back
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: wpdb
      WORDPRESS_TABLE_PREFIX: wp_
      WORDPRESS_DB_HOST: wordpress_db
    volumes:
      - ./wordpress-data:/var/www/html
      - ./php/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
  wordpress_db:
    image: mariadb:latest
    environment:
      MYSQL_ROOT_PASSWORD: examplepass
    volumes:
      - wordpress-db-data:/var/lib/mysql
    networks:
      - back
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    networks:
      - back
    ports:
      - 8181:80
volumes:
    wordpress-db-data:
      driver: local
networks:
  front:
  back:
我可以打8181上的PHPMA,但不能打8080上的WP

有什么想法吗

编辑:我做了一些改变。WP正在运行,但我无法将我的用户root/examplepass连接到PMAdmin。 我有一个这样的错误
#2002-php_network_getaddresses:getaddrinfo失败:名称未解析—服务器没有响应(或者本地服务器的套接字配置不正确)。

老实说,我认为您的做法是错误的。最好的方法是在DB容器上设置所有环境变量,以便它(a)规定帐户和DB,然后将其链接到web容器

一旦web容器启动,它就可以访问MYSQL\ux。。。变量,因为它们是在DB容器上派生的。从DB容器开始,链接到wordpress,然后再将DB链接到PHPMyadmin

我终于明白了

我需要PMA上的var env
PMA\u主机:wordpress\u db

因此,我的最后一个.yml文件:

version: '2'
services:
  wordpress:
    image: wordpress:latest
    networks:
      - front
      - back
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: wpdb
      WORDPRESS_TABLE_PREFIX: wp_
      WORDPRESS_DB_HOST: wordpress_db
    volumes:
      - ./wordpress-data:/var/www/html
      - ./php/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
  wordpress_db:
    image: mariadb:latest
    environment:
      MYSQL_ROOT_PASSWORD: examplepass
    volumes:
      - wordpress-db-data:/var/lib/mysql
    networks:
      - back
  phpmyadmin:
    image: phpmyadmin/phpmyadmin:latest
    networks:
      - back
    ports:
      - 8181:80
    environment:
      MYSQL_USERNAME: root
      MYSQL_ROOT_PASSWORD: examplepass
      PMA_HOST: wordpress_db
volumes:
    wordpress-db-data:
      driver: local
networks:
  front:
  back:

post
docker port$(docker ps-q)
您的WORDPRESS\u DB\u主机不是wp\u DB而不是DB吗?
docker port$(docker ps-q)
->
“docker port”至少需要1个参数,最多需要2个参数。请参阅“docker端口--帮助”。用法:docker端口容器[PRIVATE_port[/PROTO]]列出端口映射或容器的特定映射
@user3012759我更改它。我够不着我的WPstill@Ragnar,可以验证WP是否正在实际运行,并可能测试您是否可以从其他容器访问它?我了解到,链接不推荐使用docker compose v2的网络。仅适用于服务,而不是单个容器