美文网首页
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