GVKun编程网logo

Docker 安装 wordpress 环境(docker部署wordpress)

2

本文将分享Docker安装wordpress环境的详细内容,并且还将对docker部署wordpress进行详尽解释,此外,我们还将为大家带来关于24.docker部署wordPress、7.7Doc

本文将分享Docker 安装 wordpress 环境的详细内容,并且还将对docker部署wordpress进行详尽解释,此外,我们还将为大家带来关于24.docker 部署 wordPress、7.7 Docker Stack部署Wordpress、Debian 11 Docker 安装 wordpress、docker wordpress怎么备份的相关知识,希望对你有所帮助。

本文目录一览:

Docker 安装 wordpress 环境(docker部署wordpress)

Docker 安装 wordpress 环境(docker部署wordpress)

  1. 拉取 wp 镜像
    docker pull wordpress

     

  2. 拉取 mysql 镜像
    docker pull mysql

     

  3. 运行 mysql 容器
    docker run --name wp-mysql -e MYSQL_ROOT_PASSWORD=secret-pwd -d mysql:5.6

    name参数指定要启动的实例名称,MYSQL_ROOT_PASSWORD指定 ROOT 密码。tag参数是 MySQL 的版本号,可以是 5.75.68.0

  4. 运行 wordpress
    docker run --name my-wordpress --link wp-mysql:mysql -p 8088:80 -d wordpress

    name参数指定要启动的 WordPress 实例名称,link参数指定要使用的 Docker MySQL 实例名称,p参数将 Docker 内部的 80 端口映射到本地的 8080 端口上。

  5. 如果使用外部的 MySQL 数据库,则输入下面的命令。
    docker run --name my-wordpress -e WORDPRESS_DB_HOST=10.1.2.3:3306 \
        -e WORDPRESS_DB_USER=... -e WORDPRESS_DB_PASSWORD=... -d wordpress

    WORDPRESS_DB_HOST参数是 MySQL 的数据库端口号,WORDPRESS_DB_USER是要数据库用户名,WORDPRESS_DB_PASSWORD是数据库密码。这里的WORDPRESS_DB_HOST参数不能填写 localhost,因为这样会重定向到 WordPress 镜像内部的 localhost,而这个镜像中实际上没有安装 MySQL。所以这里需要填写本机 IP 地址,才能正确访问到 Docker 外部的本机的数据库。

24.docker 部署 wordPress

24.docker 部署 wordPress

1. 拉取远程 MysqL 和 wordpress 镜像 并 启动起来 使用 

  docker pull MysqL:5.7.27

  docker pull wordpress

2. 创建MysqL 的 container  具体创建容器时的参数可以访问 https://hub.docker.com/_/mysql

  不需要 端口映射 因为 不需要外部访问

  docker run -d --name MysqL -v MysqL-data:/var/lib/MysqL -e MysqL_ROOT_PASSWORD=root  -e MysqL_DATABASE=wordpress MysqL:5.7.27

  

3. 创建 wordpress 的 container  具体创建容器时的参数可以访问 https://hub.docker.com/_/wordpress

  docker run -d -e wordpress_DB_HOST=MysqL:3306 --link MysqL -p 8888:80 wordpress

  浏览器访问 ip:8888 即可

遇到的问题

  如果 docker log MysqL 出现

  [ERROR] [FATAL] InnoDB: Table flags are 0 in the data dictionary but the flags in file ./ibdata1 are 0x4800

  1 . sudo find / -name MysqL-data

  

  2 . sudo rm -rf  /var/lib/docker/volumes/MysqL-data/_data/*

  即可

<style></style> <style></style>

7.7 Docker Stack部署Wordpress

7.7 Docker Stack部署Wordpress

docker-compose.yml相关字段

  • ENTRYPOINT_MODE 有vip模式和dnssr模式,vip模式就是使用多个容器统一的虚拟ip,dnsrr就是使用真实的IP,然后轮询ip,默认使用vip模式
  • MODE 一种是global、一种是replicated,前者不支持横向扩展,后者支持。
  • PLACEMENT 指定容器部署的节点、操作系统等等。
  • RESOURCES 主要是做一些CPU、内存等资源的限制
  • RESTART_POLICY 用于设定容器自动重启的条件
  • update_config 用于更新时候的配置

使用docker-compose.yml在swarm上部署

version: ''3''
services:
  web:
    image: wordpress
    ports:
      - 8080:80
    depends_on:
      - mysql
    environment:
      WORDPRESS_DB_HOST: mysql
      WORDPRESS_DB_PASSWORD: root
    networks:
      - wordpress-overlay
    deploy:
      mode: replicated
      replicas: 3
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
      update_config:
        parallelism: 1
        delay: 10s
  mysql:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: wordpress
    volumes:
      - mysql-data:/var/lib/mysql
    networks:
      - wordpress-overlay
    deploy:
      mode: global
      placement:
        constraints:
          - node.role == manager
volumes:
  mysql-data:
networks:
  wordpress-overlay:
    driver: overlay

配置部署

docker stack deploy -c docker-compose.yml wordpress

查看分布

[vagrant@swarm-manager wordpress-overlay]$ docker stack services wordpress
ID NAME MODE REPLICAS IMAGE PORTS
gzhzyuo71ycz wordpress_web replicated 3/3 wordpress:latest *:8080->80/tcp
v2lsqkq0sjr3 wordpress_mysql global 1/1 mysql:5.7

使用如下三个链接都是可以访问的

http://192.168.205.10:8080
http://192.168.205.11:8080
http://192.168.205.12:8080

销毁stack

docker stack rm wordpress

Debian 11 Docker 安装 wordpress

Debian 11 Docker 安装 wordpress

软件版本:

Debian 11.3
Docker 20.10.16
MysqL 8.0.27
Nginx 1.21.5
PHP 7.4.27
wordpress 6.0

 

一、安装Docker(https://www.runoob.com/docker/debian-docker-install.html)

 

二、新建docker网桥

sudo docker network create world

 

三、安装MysqL

(1)拉取镜像

sudo docker pull MysqL

(2)创建MysqL数据存储文件夹

sudo mkdir -p /data/MysqL/data

(3)运行MysqL容器

sudo docker run -d --name MysqL -e MysqL_ROOT_PASSWORD=root -v /data/MysqL/data:/var/lib/MysqL --network world MysqL

 

四、安装wordpress

(1)拉取镜像

sudo docker pull wordpress

(2)创建wordpress文件夹

sudo mkdir -p /var/www/html/wordpress

(3)运行wordpress容器

sudo docker run -d --name wordpress --network world -v /var/www/html/wordpress:/var/www/html wordpress

(4)编辑wordpress配置,修改以下内容:

      define( ''DB_NAME'', ''wordpressdb'' );

      define( ''DB_USER'', ''root'' );

      define( ''DB_PASSWORD'', ''root'' );

      define( ''DB_HOST'', ''MysqL'' );

sudo mv /var/www/html/wordpress/wp-config-sample.PHP /var/www/html/wordpress/wp-config.php
sudo vi /var/www/html/wordpress/wp-config.php

 

五、安装Nginx

(1)拉取镜像

sudo docker pull Nginx

(2)创建Nginx配置文件及html文件夹

sudo mkdir -p /etc/Nginx/conf.d /var/www/html

(3)运行Nginx容器

sudo docker run -d --name Nginx -v /etc/Nginx/conf.d:/etc/Nginx/conf.d \\
-v /var/www/html:/usr/share/Nginx/html --network world -p 80:80 Nginx

 (4)创建wordpress.conf文件,配置Nginx反向代理wordpress

sudo vi /etc/Nginx/conf.d/wordpress.conf
wordpress.conf

upstream wordpress
{
    server  wordpress;       ### wordpress容器的ip地址
}

server
{
    listen         80;
    listen         [::]:80;
    server_name    localhost;
    
    client_max_body_size 1024m;
    
    location / {
        proxy_pass http://wordpress;
        proxy_set_header HOST $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

(5)重启Nginx容器

sudo docker restart Nginx

 

六、配置wordpress

(1)为wordpress创建数据库

  (a)登入MysqL容器

sudo docker exec -it MysqL /bin/bash

  (b)登入MysqL

MysqL -uroot -proot

  (c)创建wordpress数据库

create database wordpressdb character set utf8mb4 collate utf8mb4_bin;

  (d)退出数据库(exit),退出容器(exit)

 

(2)修改PHP文件上传大小限制

  (a)登入wordpress容器

sudo docker exec -it wordpress /bin/bash

  (b)复制 PHP.ini-development 到 /var/www/html/PHP-config

cp /usr/local/etc/PHP/PHP.ini-development /var/www/html

  (c)为PHP.ini创建软链接

ln -s /var/www/html/PHP.ini-development /usr/local/etc/PHP/PHP.ini

  (d)退出容器(exit)

  (e)编辑PHP.ini-development,依次修改 upload_max_filesize(文件体积限制)、post_max_size(post大小限制)、memory_limit(内存占用限制)

sudo vi /var/www/html/wordpress/PHP.ini-development

 

(3)修改wordpress媒体文件上传类型限制

  (a)追加希望被允许上传的文件类型(https://www.cnblogs.com/kedarui/p/3627307.html)

  (b)允许所有的文件类型( 在wp-config.php 配置文件末尾追加以下内容 )

      define( ''ALLOW_UNFILTERED_UPLOADS'', ''true'' );

sudo vi /var/www/html/wordpress/wp-config.php

      经测试,只有在 左侧菜单 媒体子项下 添加新文件不受类型限制,直接在媒体界面添加文件 类型还是会受限

 

(4)最后重启wordpress容器,令修改生效

sudo docker restart wordpress

docker wordpress怎么备份

docker wordpress怎么备份

在 docker 中备份 wordpress 网站有两种有效方法:使用 docker 卷:创建卷、挂载 wordpress 数据并备份卷。使用 wordpress 插件:安装插件、配置备份并手动备份(如有必要)。根据您的需求和偏好选择最合适的备份方法,但定期备份 wordpress 网站至关重要,以防止数据丢失。

docker wordpress怎么备份

Docker 中 WordPress 备份方法

在 Docker 中备份 WordPress 网站至关重要,以确保在发生意外事件时不会丢失数据。以下列出了两种有效的备份方法:

1. 使用 Docker 卷

Docker 卷是一种将数据持久化到主机文件系统的方法。要使用 Docker 卷备份 WordPress,请执行以下步骤:

  • 创建卷:运行 docker volume create wordpress-volume 创建一个名为 wordpress-volume 的卷。
  • 将 WordPress 数据挂载到卷上:修改您的 Docker 容器配置文件以将 WordPress 数据目录(通常为 /var/www/html)挂载到卷上。
  • 备份卷:使用 docker run --rm -v wordpress-volume:/tmp/backup alpine tar cf - /tmp/backup | gzip > wordpress-backup.tar.gz 命令将卷备份到 tarball 中。

2. 使用 WordPress 插件

另一种备份 WordPress 的方法是使用备份插件,例如 UpdraftPlus 或 BackupBuddy。这些插件提供了一个用户友好的界面,可让您轻松安排备份并将其存储在远程位置,例如云存储服务。

要使用备份插件,请执行以下步骤:

  • 安装插件:在您的 WordPress 仪表板中,导航到“插件”>“添加新”,然后搜索并安装所需的插件。
  • 配置插件:激活插件后,按照其配置说明设置备份计划、存储位置和选项。
  • 手动备份:除了计划的备份外,插件通常还允许您手动触发备份。

选择方法

选择哪种备份方法取决于您的特定需求和偏好。Docker 卷方法更技术性,但它提供了对备份过程的更多控制。另一方面,WordPress 插件方法更简单易用,适合非技术人员。

无论选择哪种方法,定期备份 WordPress 网站都至关重要,以确保在发生数据丢失时可以快速恢复。

以上就是docker wordpress怎么备份的详细内容,更多请关注php中文网其它相关文章!

今天的关于Docker 安装 wordpress 环境docker部署wordpress的分享已经结束,谢谢您的关注,如果想了解更多关于24.docker 部署 wordPress、7.7 Docker Stack部署Wordpress、Debian 11 Docker 安装 wordpress、docker wordpress怎么备份的相关知识,请在本站进行查询。

本文标签: