介绍
本文主要介绍如何搭建mariadb数据库+WordPress博客,以及如何一键同时搭建两个平台的组合体。
搭建MariaDB
用docker安装mysql等数据库很简单,但是启动会有点问题,经过尝试之后发现mariadb可以很顺利的使用,所以我选择使用MariaDB。功能上mariadb和mysql是没区别的,因为mariadb就是mysql的作者开发的,为了防止mysql在未来闭源。
# 启动mariadb
docker run -dit --name mariadb_wordpress -e MYSQL_ROOT_PASSWORD=123456 -p 33060:3306 mariadb
# 进容器测试
docker exec -it mariadb_wordpress bash
mysql -u root -p
# 输入密码:
123456
# 成功登陆
下面是遇到的几个问题。
-
linux中start mysqld.service: Unit not found.
systemctl start mariadb.service
# 开启mariaDB服务
systemctl enable mariadb.service
# 添加至开机启动 -
linux启动容器报网络错误
修改一个配置:vi /etc/sysctl.conf
添加:net.ipv4.ip_forward=1
-
mysql.sock不存在的问题
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
木有解决这个问题,删了重装吧。2333 -
数据库服务无法开启
重启容器:docker restart 容器id
进入容器:docker exec –it 容器id bash
手动开启数据库service mysql restart
-
Navicat无法连接
需要设置一下mysql的允许外部访问。
在容器内部进入mysql:mysql –uroot –p 123456
进入mysql数据库:use mysql;
授权:GRANT ALL PRIVILEGES ON *.* TO "用户名"@"ip地址" IDENTIFIED BY "密码";
刷新权限:FLUSH PRIVILEGES;
重连即可成功 -
数据库备份和导入
先把容器a的数据库dump下来,
然后用docker复制到服务器主目录,
从主目录复制到另一个容器b,
在容器b中进入mysql ,使用source xxx.sql来执行导入 -
linux安装mysql
yum install mysql
yum install mysql-server
yum install mysql-devel
搭建WordPress
# 一步运行
docker run --name my_wordpress --link mariadb_wordpress:mariadb -p 10880:80 -d wordpress
# --link 要连接的容器名:镜像名
使用docker-compose一键部署
本来是要使用fig来部署,但是按照网上教程写了fig文件后还是无法成功运行,经查找资料发现fig已经升级到了docker-compose,所以我选择用docker-copose。
该部分主要参考docker官方教程
- 安装docker-compose
# 下载
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 给权限
sudo chmod +x /usr/local/bin/docker-compose
# 查看版本,能成功显示就可以了
docker-compose --version
- 配置文件
version : '3'
services:
db:
image: mariadb:latest
ports:
- "33060:3306"
restart: always
privileged: true
environment:
- MYSQL_ROOT_PASSWORD=123456
- MYSQL_DATABASE=wordpress
wordpress:
image: wordpress:latest
links:
- db:wordpressdb
restart: always
ports:
- "10880:80"
-
报错:mapping values are not allowed here
出现这个错误的是因为yaml格式不正确,谷歌定义的yaml非常严格,每个冒号后面都必须带有空格。参考这里解决的该问题。 -
启动镜像
docker-compose up
访问 ip:10880看是否成功
其他
- 安装fig
# 安装扩展源EPEL
sudo yum -y install epel-release
# 安装pip
sudo yum -y install python-pip
# 安装fig
sudo pip install -U fig
网友评论