首页 > Docker > docker搭建wordpress
2017
04-24

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

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 x.x.x.x -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

====================================================================

注意:目前还有无法发送邮件问题没有解决。




最后编辑:
作者:wood-man
这个作者貌似有点懒,什么都没有留下。
捐 赠您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请狠狠点击

留下一个回复