在本文中,我们将带你了解创建WordPressDocker镜像在这篇文章中,我们将为您详细介绍创建WordPressDocker镜像的方方面面,并解答docker搭建wordpress常见的疑惑,同时
在本文中,我们将带你了解创建 WordPress Docker 镜像在这篇文章中,我们将为您详细介绍创建 WordPress Docker 镜像的方方面面,并解答docker搭建wordpress常见的疑惑,同时我们还将给您一些技巧,以帮助您实现更有效的24.docker 部署 wordPress、6.1 基于docker搭建wordpress、7.7 Docker Stack部署Wordpress、docker lnmp部署wordpress。
本文目录一览:- 创建 WordPress Docker 镜像(docker搭建wordpress)
- 24.docker 部署 wordPress
- 6.1 基于docker搭建wordpress
- 7.7 Docker Stack部署Wordpress
- docker lnmp部署wordpress
创建 WordPress Docker 镜像(docker搭建wordpress)
github 地址 https://github.com/venizeng/wordpress
fork Github
https://github.com/venizeng/wordpress.git
修改 wp-config.php 中的数据库地址等
docker build -t venizeng/wordpress .
docker run --name wordpress -d -p 21000:80 venizeng/wordpress /sbin/my_init
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>6.1 基于docker搭建wordpress
创建一个mysql容器
docker run -d --name mysql -v mysqldata:/var/lib/mysql -e MYSQL_DATABASE=wp -e MYSQL_ROOT_PASSWORD=root mysql:5.7.22
创建一个wordpress容器
docker run --name wordpress --link mysql -d -p 8080:80 wordpress
然后即可通过访问 http://192.168.205.10:8080/ 来进行安装了
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
docker lnmp部署wordpress
#下载镜像准备
docker pull mysql:latest #下载mysql镜像
docker pull richarvey/nginx-php-fpm:latest #下载nginx-php-fpm镜像
docker image inspect mysql:latest |grep -i version #查看仓库中最新mysql的版本
#自定义网络
docker network create lnmp #创建专用网络
docker network ls #查看网络信息
1、启动数据库容器,并创建库
docker run -itd --name lnmp_mysql --net lnmp -p 3306:3306 --mount src=mysql-vol,dst=/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql --character-set-server=utf8
#创建一个lnmp_mysql数据库容器,将数据库数据目录做一个挂载,保证数据持久化
docker exec lnmp_mysql sh -c ''exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e"create database wordpress"''
#进入容器创建一个wordpress数据库
2、启动一个nginx-php-fpm容器
mkdir -p /app/webroot
docker run -itd --name lnmp_web --net lnmp -p 88:80 --mount type=bind,src=/app/webroot,dst=/var/www/html richarvey/nginx-php-fpm
echo "<?php phpinfo(); ?>" >/app/webroot/index.php
#lnmp_web容器数据挂载到本地/app/webroot/, 映射宿主机88端口,并做一个php测试页面,访问测试页面
3、下载解压wordpress
cd /app/webroot/ #进入网站的根目录
wget https://cn.wordpress.org/wordpress-5.1.2-zh_CN.tar.gz #下载wordpress
#可下载5.3.2版本,服务器托管环境或香港机房比较好下载,公司网络下载经常中断
tar -xvf wordpress-5.1.2-zh_CN.tar.gz
4、浏览器访问wordpress安装
http://192.168.10.192:88/wordpress
#数据库主机名直接写 数据库容器名称即可,跟lnmp_web在同一个网络, 会自动识别的
发现数据库报连接不上,原来是新版mysql要更改验证方式
docker exec -it lnmp_mysql bash
mysql -uroot -p
ALTER USER ''root''@''%'' IDENTIFIED WITH mysql_native_password BY ''123456'';
重新提交顺利安装~~~
我们今天的关于创建 WordPress Docker 镜像和docker搭建wordpress的分享就到这里,谢谢您的阅读,如果想了解更多关于24.docker 部署 wordPress、6.1 基于docker搭建wordpress、7.7 Docker Stack部署Wordpress、docker lnmp部署wordpress的相关信息,可以在本站进行搜索。
本文标签: