• docker搭建wordpress


    闲话少说,奉上干货

    Author : woodman
    Version: 1.0
    实验环境
    系统:CentOS Linux release 7.2.1511
    内核:Linux C7 3.10.0-327.el7.x86_64
     
     
    软件源 163+epel
    yum -y install wget vim
    cd /etc/yum.repos.d/
    rm -f ./*
    rpm --import RPM-GPG-KEY-EPEL-7
    yum clean all
    yum makecache
     
    # docker version
    Client:
     Version:         1.12.6
     API version:     1.24
     Package version: docker-common-1.12.6-16.el7.centos.x86_64
     Go version:      go1.7.4
     Git commit:      3a094bd/1.12.6
     Built:           Fri Apr 14 13:46:13 2017
     OS/Arch:         linux/amd64

    一、 创建nginx镜像

    mkdir docker

    cd docker

    cat Dockerfile
    FROM centos:centos7
    MAINTAINER woodman
    RUN yum -y install wget

    RUN rm -f /etc/yum.repos.d/*
    RUN wget http://mirrors.163.com/.help/CentOS7-Base-163.repo && mv CentOS7-Base-163.repo /etc/yum.repos.d/163.repo
    RUN rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    RUN cd /etc/pki/rpm-gpg/
    RUN wget https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7
    RUN rpm –import RPM-GPG-KEY-EPEL-7

    RUN yum clean all
    RUN yum install httpd php php-mysql php-mbstring -y && yum clean all
    EXPOSE 80
    CMD [“/usr/sbin/httpd”,”-f”,”/etc/httpd/conf/httpd.conf”,”-DFOREGROUND”]
    #创建
    docker build -f Dockerfile -t web:centos7 .

    二、创建mariadb镜像

    #cat Dockerfile
    FROM centos:centos7
    MAINTAINER woodman
    RUN yum -y install wget
    RUN rm -f /etc/yum.repos.d/*
    RUN rpm -ivh  https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    RUN cd /etc/pki/rpm-gpg/
    RUN wget https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7
    RUN rpm --import RPM-GPG-KEY-EPEL-7
    RUN wget http://mirrors.163.com/.help/CentOS7-Base-163.repo && mv CentOS7-Base-163.repo /etc/yum.repos.d/163.repo
    RUN yum clean all
    RUN yum install mariadb-server openssh-server -y && yum clean all
    RUN mysql_install_db && chown -R mysql:mysql /var/lib/mysql/
    VOLUME /var/lib/mysql/
    ADD mysql.sh /mysql.sh
    RUN chmod 755 /mysql.sh
    EXPOSE 22
    EXPOSE 3306
    CMD ["/mysql.sh"]
     
     cat mysql.sh 
    #!/bin/bash
    # Author:woodman
    mysqld_safe &
    sleep 5
    mysqladmin -uroot password '123456'
    mysql -uroot -p123456 -e "GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY '123456';FLUSH PRIVILEGES;"
    sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config && ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
    echo 123456 | passwd --stdin root
    /usr/sbin/sshd -D
     
    docker build -f Dockerfile -t mariadb:centos7 .
    docker run -d -p 22222:22 -v /var/mysql:/var/lib/mysql --name db mariadb:centos7
     

    三、关联容器

    3.1 关闭web容器
    docker stop web
    docker rm web
    3.2 测试web能否访问mariadb
    #docker run -it -p  80:80 -v  /var/web/:/var/www/html/ --link=db  --name=web web:centos7 /bin/bash
    #yum -y install mariadb
    #mysql -uroot -p123456 -h db
    #exit; exti ; docker rm web
    #docker run -d -p  80:80 -v  /var/web/:/var/www/html/ --link=db:todb --name=web web:centos7 

    四、安装wordpress

    4.1 安装
    wget https://cn.wordpress.org/wordpress-4.7.3-zh_CN.tar.gz
    tar -zxf latest.tar.gz
    cp -a wordpress/* /var/web
    4.2 数据库配置
    ssh 192.168.1.7 -p 22222
    mysql -uroot -p123456
    MariaDB [(none)]> CREATE DATABASE wordpress;
    MariaDB [(none)]> GRANT ALL ON wordpress.* TO 'wordpress'@'%' IDENTIFIED BY 'wordpress';
    MariaDB [(none)]> FLUSH PRIVILEGES;
    >exit;
    #exit;
    4.3 设置 wordpress
    docker run -ti --rm -v /var/web/:/var/www/html/  --entrypoint="/bin/bash" web:centos7 -c "ls  -ln /var/www/html"
    docker run -ti --rm  --entrypoint="/bin/bash" mariadb:centos7 -c "ls  -ln /var/lib/mysql"
    #文件属性显示一堆'??????'
    #setenforce 0
    访问:http://x.x.x.x
    数据库名:wordpress
    用户名:wordpress
    密码:wordpress
    数据库主机:db
    表前缀:wp_
    提交
    4.4 创建wp-config.php
    web中的内容复制内贴到wp-config.php
    点击install
    cat /renn/myweb/wp-config.php 
    <?php
    /**
     * The base configuration for WordPress
     *
     * The wp-config.php creation script uses this file during the
     * installation. You don't have to use the web site, you can
     * copy this file to "wp-config.php" and fill in the values.
     *
     * This file contains the following configurations:
     *
     * * MySQL settings
     * * Secret keys
     * * Database table prefix
     * * ABSPATH
     *
     * @link https://codex.wordpress.org/Editing_wp-config.php
     *
     * @package WordPress
     */
    
    // ** MySQL settings - You can get this info from your web host ** //
    /** The name of the database for WordPress */
    define('DB_NAME', 'wordpress');
    
    /** MySQL database username */
    define('DB_USER', 'wordpress');
    
    /** MySQL database password */
    define('DB_PASSWORD', 'wordpress');
    
    /** MySQL hostname */
    define('DB_HOST', 'db');
    
    /** Database Charset to use in creating database tables. */
    define('DB_CHARSET', 'utf8mb4');
    
    /** The Database Collate type. Don't change this if in doubt. */
    define('DB_COLLATE', '');
    
    /**#@+
     * Authentication Unique Keys and Salts.
     *
     * Change these to different unique phrases!
     * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
     * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
     *
     * @since 2.6.0
     */
    define('AUTH_KEY',         'zOf g^T@Fg~eZy,kEsstBc+=3DjY;F`.7MKtOd_J4?`0tKv.r7B,cyHTC(c<L^pb');
    define('SECURE_AUTH_KEY',  '?4a! VG;6DZwO_^aEm9%7zz=eV;O141za] NRk,vs0Zk#y{!ZMxveWa*?!=Lk34(');
    define('LOGGED_IN_KEY',    'y@9@FV2EEX[g2FmENZ4sB{)k:x+W3{x?o1-K}$;UkzA @)IGzY6x[TaK?ninGkg:');
    define('NONCE_KEY',        'EC95aN/5-hQUK%1t<UK6$BlS=ngt=eT>3m_h she31E5.8O&O;V5z`j6R71nCW>1');
    define('AUTH_SALT',        '@xSzJTwfL^<7HJG8i`7:@Y1.$vT[0}AD,(:B:Emb`H142P4]P2*/y`V>nex94>et');
    define('SECURE_AUTH_SALT', 'f*4R2&WrJd{XcL][Jn9#RM$1aLTzp1A1a|cj+$6?2^,W&|`t#4n7VL|n(=V1:,P_');
    define('LOGGED_IN_SALT',   '*62i~DFK~&b8b#%UaZZiC72)W=$i;I`ZyU2w<_+Cb>ubVP/.J~i]a&#o8iM!5?6e');
    define('NONCE_SALT',       'Caf6?g(]8b r@[pq9c4r,elRW_eZQE{oq!w_8,xd/qa`D[zMb-Pc!em_?}t:nVnx');
    
    /**#@-*/
    
    /**
     * WordPress Database Table prefix.
     *
     * You can have multiple installations in one database if you give each
     * a unique prefix. Only numbers, letters, and underscores please!
     */
    $table_prefix  = 'wp_';
    
    /**
     * For developers: WordPress debugging mode.
     *
     * Change this to true to enable the display of notices during development.
     * It is strongly recommended that plugin and theme developers use WP_DEBUG
     * in their development environments.
     *
     * For information on other constants that can be used for debugging,
     * visit the Codex.
     *
     * @link https://codex.wordpress.org/Debugging_in_WordPress
     */
    define('WP_DEBUG', false);
    
    /* That's all, stop editing! Happy blogging. */
    
    /** Absolute path to the WordPress directory. */
    if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');
    
    /** Sets up WordPress vars and included files. */
    require_once(ABSPATH . 'wp-settings.php');
    

      

  • 相关阅读:
    python中使用schedule模块定时执行任务
    python marshmallow库
    shell 脚本根据名称查找进程id会多出来两个id号
    docker随笔(1)
    python实现-kafka作为消息中间件 -实现数据生产和消费-实用的脚本
    python-kafka文档
    mysql文档
    VMware pro15安装centos7
    excel表计算和计算器计算结果不一致
    jmeter安装部署、maven路径配置
  • 原文地址:https://www.cnblogs.com/woodman/p/6754707.html
Copyright © 2020-2023  润新知