GVKun编程网logo

docker版wordpress

6

对于docker版wordpress感兴趣的读者,本文将会是一篇不错的选择,并为您提供关于24.docker部署wordPress、6.1基于docker搭建wordpress、7.7DockerSt

对于docker版wordpress感兴趣的读者,本文将会是一篇不错的选择,并为您提供关于24.docker 部署 wordPress、6.1 基于docker搭建wordpress、7.7 Docker Stack部署Wordpress、docker lnmp部署wordpress的有用信息。

本文目录一览:

docker版wordpress

docker版wordpress

拉取wordpress镜像并运行

docker run --name wp_mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=''root'' \
-e MYSQL_DATABASE=wordpress \
-v /db/:/var/lib/mysql/ \
-d mysql:5.6

拉取mysql5.6数据库镜像并运行

docker run --name mwp \
-e WORDPRESS_DB_NAME=wordpress \
-e WORDPRESS_DB_HOST=172.17.0.2:3306 \
-e WORDPRESS_DB_PASSWORD=root \
-e WORDPRESS_DB_USER=root \
-p 80:80 \
--link wp_mysql:mysql \
-v /html:/var/www/html/ \
-d wordpress

查看docker

[root@localhost ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
c98b21d47c2d        wordpress           "docker-entrypoint.s…"   6 minutes ago       Up 6 minutes        0.0.0.0:80->80/tcp       mwp
5c1054396d94        mysql:5.6           "docker-entrypoint.s…"   6 minutes ago       Up 6 minutes        0.0.0.0:3306->3306/tcp   wp_mysql

浏览器验证

 

 就是这么简单!!!!

需要注意的地方

1.wordpress连接的ip地址,需要指向docker0桥分配的地址
2.一定要开启核心转发
3.数据库一定要允许第三方用户登录,所以导致前端wordpress无法连接到数据库
4.数据库的版本不一样有可能在授权第三方登录的方式也不一样,所以导致前端wordpress无法连接到数据库

 

 

 

 

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>

6.1 基于docker搭建wordpress

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

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 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'';
重新提交顺利安装~~~

 

 



今天关于docker版wordpress的分享就到这里,希望大家有所收获,若想了解更多关于24.docker 部署 wordPress、6.1 基于docker搭建wordpress、7.7 Docker Stack部署Wordpress、docker lnmp部署wordpress等相关知识,可以在本站进行查询。

本文标签: