美文网首页
Docker_3_搭建WordPress+mariadb

Docker_3_搭建WordPress+mariadb

作者: zestloveheart | 来源:发表于2019-04-30 13:56 被阅读0次

介绍

本文主要介绍如何搭建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
# 成功登陆

下面是遇到的几个问题。

  1. linux中start mysqld.service: Unit not found.
    systemctl start mariadb.service # 开启mariaDB服务
    systemctl enable mariadb.service # 添加至开机启动

  2. linux启动容器报网络错误
    修改一个配置:vi /etc/sysctl.conf
    添加:net.ipv4.ip_forward=1

  3. mysql.sock不存在的问题
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
    木有解决这个问题,删了重装吧。2333

  4. 数据库服务无法开启
    重启容器:docker restart 容器id
    进入容器:docker exec –it 容器id bash
    手动开启数据库 service mysql restart

  5. Navicat无法连接
    需要设置一下mysql的允许外部访问。
    在容器内部进入mysql:mysql –uroot –p 123456
    进入mysql数据库:use mysql;
    授权:GRANT ALL PRIVILEGES ON *.* TO "用户名"@"ip地址" IDENTIFIED BY "密码";
    刷新权限:FLUSH PRIVILEGES;
    重连即可成功

  6. 数据库备份和导入
    先把容器a的数据库dump下来,
    然后用docker复制到服务器主目录,
    从主目录复制到另一个容器b,
    在容器b中进入mysql ,使用source xxx.sql来执行导入

  7. 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看是否成功

其他

  1. 安装fig
# 安装扩展源EPEL
sudo yum -y install epel-release
# 安装pip
sudo yum -y install python-pip
# 安装fig
sudo pip install -U fig

相关文章

网友评论

      本文标题:Docker_3_搭建WordPress+mariadb

      本文链接:https://www.haomeiwen.com/subject/nysmnqtx.html