GVKun编程网logo

利用docker搭建WordPress(利用docker搭建http服务器)

14

在这里,我们将给大家分享关于利用docker搭建WordPress的知识,让您更了解利用docker搭建http服务器的本质,同时也会涉及到如何更有效地12、利用docker快速搭建Wordpress

在这里,我们将给大家分享关于利用docker搭建WordPress的知识,让您更了解利用docker搭建http服务器的本质,同时也会涉及到如何更有效地12、利用docker快速搭建Wordpress网站、13、通过Docker-compose快速搭建Wordpress、6.1 基于docker搭建wordpress、docker compose搭建wordpress的内容。

本文目录一览:

利用docker搭建WordPress(利用docker搭建http服务器)

利用docker搭建WordPress(利用docker搭建http服务器)

步骤一

创建mysql的容器

步骤二

创建wordpress的容器并链接mysql容器的数据库

 

创建mysql的容器

docker run -d --name mysql -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=wordpress mysql

创建wordpress的容器

docker run -d -e WORDPRESS_DB_HOST=mysql:3306 --link mysql -p 8080:80 wordpress

好了,可以了,是不是很简单。前边一个大坑

浏览器输入宿主机ip准备安装wordpress,出现

Error establishing a database connection

显然,数据库连接失败了,到底哪除了问题

访问mysql容器的log

docker logs mysql

提示:The server requested authentication method unknown to the client

认证方法错误,mysql8.0以后默认的认证方式改了,所以才会有这样的错误

解决方法

#进入mysql容器
docker exec -it mysql /bin/bash
#登陆数据库
mysql -u root -p
use mysql;
#开启root远程访问权限
grant all on *.* to ''root''@''%'';
#修改加密规则
alter user ''root''@''localhost'' identified by ''123456'' password expire never;
#更新密码
alter user ''root''@''%'' identified with mysql_native_password by ''123456'';
#刷新权限
flush privileges;

好了,重新刷新一下浏览器看看

12、利用docker快速搭建Wordpress网站

12、利用docker快速搭建Wordpress网站

 一、准备工作

结构图:

用户访问页面,Nginx将请求进行转发,如果请求的是php页面,则通过FastCGI转发给后端php进行处理;如果非php页面,则直接返回静态页面。

 关键点:

  1. mysql、php-fpm、nginx处于一个网络中
  2. mysql、php-fpm端口不需要暴露
  3. nginx对php请求转发给FastCGI

1、自定义网络

 

docker network create lnmp

  

二、创建容器

1、创建Mysql容器

docker run -d --name lnmp_mysql --net lnmp --mount src=mysql-vol,dst=/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=wordpress mysql:5.7 --character-set-server=utf8

 

  • 容器名称:lnmp_mysql
  • 容器网络:lnmp
  • 数据卷:mysql-vol
  • 设置数据库密码和创建数据 

2、创建php容器

docker run -d --name lnmp_php --net lnmp --mount src=wwwroot,dst=/wwwroot custom_php:v1

  

  • 容器名称:lnmp_php
  • 容器网络:lnmp
  • 数据卷:wwwroot

3、创建nginx容器

docker run -d --name lnmp_nginx --net lnmp -p 88:80 --mount type=bind,src=$(pwd)/nginx.conf,dst=/usr/local/nginx/conf/nginx.conf --mount src=wwwroot,dst=/wwwroot custom_nginx:v1

  

  • 容器名称:lnmp_nginx
  • 容器网络:lnmp
  • 容器端口:80
  • 数据卷:wwwroot
  • 配置文件:bind方式,因为配置文件可能会有变更,保证每次容器可以获取最新的配置文件。

4、下载应用

wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz

  下载应用放到/var/lib/docker/volumes/wwwroot/_data

 

三、访问测试

 1、访问wordpress

 

 2、设置数据库连接

 3、完成数据设置

 

 4、填写网站信息

 5、访问应用

 一切都是预期的结果!

13、通过Docker-compose快速搭建Wordpress

13、通过Docker-compose快速搭建Wordpress

一、compose定义

以下定义摘自docker官网:https://docs.docker.com/compose/overview/

Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. Then, with a single command, you create and start all the services from your configuration. 

译文:

Compose是一个用来定义、运行多容器Docker应用的工具。通过compose,你使用YAML文件来定义你的应用服务。然后,通过一个简单的命令,就能创建和启动你配置的所有服务。

从定义可以看出,Compose是一个工具,用来定义多个容器服务,然后通过一个命令一键启停所有服务,方便一次性管理多个有关联关系的容器。

如果说docker run、docker exec 是shell命令的话,那么compose就是shell脚本!只不过他可以通过YAML配置文件的形式简写命令。

二、使用compose的基本步骤

Using Compose is basically a three-step process:

  1. Define your app’s environment with a Dockerfile so it can be reproduced anywhere.

  2. Define the services that make up your app in docker-compose.yml so they can be run together in an isolated environment.

  3. Run docker-compose up and Compose starts and runs your entire app.

译文:

Compose使用基本三步骤:

  • 通过一个dockefile定义你的app环境,这样你就在任何地方都可以使用。
  • 在docker-compose.yml中定义你的服务,这样你就可以在一个独立的环境中运行所有服务。
  • 运行docker-compose up来启动和运行你定义的整个app。

三、语法参考

官网学习链接:

  https://docs.docker.com/compose/

compose file version 3 语法介绍:

  https://docs.docker.com/compose/compose-file/

compose命令行介绍:

  https://docs.docker.com/compose/reference/

四、docker-compse案例

按照上面所说的步骤:

1、编写服务的Dockerfile

Nginx、php的Dockerfile已经在前面实践过了,直接拿来使用即可。

 

2、定义docker-compose.yml

version: ''3''
services:
  nginx:
    hostname: nginx
    build:
      context: ./nginx
      dockerfile: Dockerfile
    ports:
      - 81:80
    networks:
      - lnmp
    volumes:
      - ./wwwroot:/usr/local/nginx/html

  php:
    hostname: php
    build:
      context: ./php
      dockerfile: Dockerfile
    networks:
      - lnmp
    volumes:
      - ./wwwroot:/usr/local/nginx/html

  mysql:
    hostname: mysql
    image: mysql:5.6
    ports:
      - 3306:3306
    networks:
      - lnmp
    volumes:
      - ./mysql/conf:/etc/mysql/conf.d
      - ./mysql/data:/var/lib/mysql
    command: --character-set-server=utf8
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_DATABASE: wordpress
      MYSQL_USER: user
      MYSQL_PASSWORD: user123

networks:
  lnmp: 

 

3、启动docker-compose

docker-compose -f docker-compose.yml up -d

  注意:-d是在后台启动,且要在docker-compose.yml文件目录下启动。

4、查看结果

 访问url:http://120.92.*.*:81/wordpress

 

 

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/ 来进行安装了

docker compose搭建wordpress

docker compose搭建wordpress


version: '3.1'

services:

  db:
    image: MysqL:5.7
    restart: always
    environment: 
      MysqL_DATABASE: blog
      MysqL_USER: stivenyang
      MysqL_PASSWORD: *******
      MysqL_RANDOM_ROOT_PASSWORD: '*******'
    volumes:
      - ../MysqL/blog/conf/my.cnf:/etc/MysqL/my.cnf
      - ../MysqL/blog/data:/var/lib/MysqL
    ports:
      - 3306:3306

  wordpress:
    image: wordpress
    restart: always
    environment:
      wordpress_DB_HOST: db
      wordpress_DB_USER: stivenyang
      wordpress_DB_PASSWORD: ********
      wordpress_DB_NAME: blog
    volumes:
      - ../wordpress:/var/www/html
  
  web:
    image: Nginx
    restart: always
    ports: 
      - 80:80
    volumes:
      - ../Nginx/Nginx.conf:/etc/Nginx/Nginx.conf
      - ../Nginx/conf.d:/etc/Nginx/conf.d

今天关于利用docker搭建WordPress利用docker搭建http服务器的讲解已经结束,谢谢您的阅读,如果想了解更多关于12、利用docker快速搭建Wordpress网站、13、通过Docker-compose快速搭建Wordpress、6.1 基于docker搭建wordpress、docker compose搭建wordpress的相关知识,请在本站搜索。

本文标签: