本文将分享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)
- 24.docker 部署 wordPress
- 7.7 Docker Stack部署Wordpress
- Debian 11 Docker 安装 wordpress
- docker wordpress怎么备份
Docker 安装 wordpress 环境(docker部署wordpress)
- 拉取 wp 镜像
docker pull wordpress
- 拉取 mysql 镜像
docker pull mysql
- 运行 mysql 容器
docker run --name wp-mysql -e MYSQL_ROOT_PASSWORD=secret-pwd -d mysql:5.6
name
参数指定要启动的实例名称,MYSQL_ROOT_PASSWORD
指定 ROOT 密码。tag
参数是 MySQL 的版本号,可以是5.7
、5.6
、8.0
。 - 运行 wordpress
docker run --name my-wordpress --link wp-mysql:mysql -p 8088:80 -d wordpress
name
参数指定要启动的 WordPress 实例名称,link
参数指定要使用的 Docker MySQL 实例名称,p
参数将 Docker 内部的 80 端口映射到本地的 8080 端口上。 - 如果使用外部的 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
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
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.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 数据并备份卷。使用 wordpress 插件:安装插件、配置备份并手动备份(如有必要)。根据您的需求和偏好选择最合适的备份方法,但定期备份 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 环境和docker部署wordpress的分享已经结束,谢谢您的关注,如果想了解更多关于24.docker 部署 wordPress、7.7 Docker Stack部署Wordpress、Debian 11 Docker 安装 wordpress、docker wordpress怎么备份的相关知识,请在本站进行查询。
本文标签: