如何使用Docker设置本地wordpress?

时间:2019-09-10 04:28:29

标签: wordpress docker docker-compose

因此,我决定尝试在本地Wordpress开发中使用Docker。

幸运的是,Docker有一个quickstart guide for that.

我遵循了整个过程,并且我*认为*我了解其中的大部分内容。但是,当我启动并运行Docker容器时,它进行了Wordpress的全新安装,而不是使用我在项目中拥有的本地文件。最初,我认为将目录更改为项目文件夹可以使其读取其中的文件。显然,我错了。我尝试在网上寻找答案, 其中大多数只是关于如何将Docker用于WP的教程。

因此,我该如何创建一个使用我拥有的本地WP文件的Docker容器(或更改Docker YAML文件)?

docker-compose.yml

version: '3.3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
       WORDPRESS_DB_NAME: wordpress
volumes:
    db_data: {}

项目结构

/project
  /app
  /sql
  docker-compose.yml

我正在Ubuntu 19.04上运行

2 个答案:

答案 0 :(得分:1)

泊坞窗上的Wordpress

通过以下方式创建docker-compose.yml

version: '3.1'
services:
  wordpress:
    image: wordpress
    restart: always
    ports:
      - 8080:80
    volumes:
      - ./app:/var/www/html
    environment:
      WORDPRESS_DB_PASSWORD: DoKRteST
      WORDPRESS_DB_HOST: mysql
  mysql:
    image: mysql:5.7
    # Uncomment the below code to maintain the persistancy of the data 
    # volumes:
          # - ./wordpress:/var/www/html
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: DoKRteST

./app文件夹是实际的wordpress应用文件夹

只需单击Try in PWDPlay with docker

上运行

答案 1 :(得分:0)

您只需要mount wp-content主机到容器。您可以在当前目录结构中的wp-content下查找app/wp-content

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     volumes:
        - wp-content:/var/www/html/wp-content
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
       WORDPRESS_DB_NAME: wordpress

您可以阅读更多详细信息herehere