设为首页 收藏本站
查看: 571|回复: 0

[经验分享] docker搭建wordpress

[复制链接]
发表于 2017-12-6 14:22:06 | 显示全部楼层 |阅读模式
  闲话少说,奉上干货


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 ./*



wget http://mirrors.163.com/.help/CentOS7-Base-163.repo



rpm -ivh  https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

cd /etc/pki/rpm-gpg/



wget https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7



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');

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-421343-1-1.html 上篇帖子: 如何使用windows版Docker并在IntelliJ IDEA使用Docker运行Spring Cloud项目 下篇帖子: docker基础学习笔记
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表