在这里,我们将给大家分享关于利用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服务器)
- 12、利用docker快速搭建Wordpress网站
- 13、通过Docker-compose快速搭建Wordpress
- 6.1 基于docker搭建wordpress
- docker compose搭建wordpress
利用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网站
一、准备工作
结构图:
用户访问页面,Nginx将请求进行转发,如果请求的是php页面,则通过FastCGI转发给后端php进行处理;如果非php页面,则直接返回静态页面。
关键点:
- mysql、php-fpm、nginx处于一个网络中
- mysql、php-fpm端口不需要暴露
- 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
一、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:
-
Define your app’s environment with a
Dockerfile
so it can be reproduced anywhere. -
Define the services that make up your app in
docker-compose.yml
so they can be run together in an isolated environment. -
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
创建一个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
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的相关知识,请在本站搜索。
本文标签: