使用LNMP架构,需要部署安装docker
1.创建一个工作目录,方便管理
mkdir docker
2.编写Dockerfile文件
vim Dockerfile
FROM centos:7
RUN rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm \
&& curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo \
&& rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm \
&& yum install php71w-xsl php71w php71w-ldap php71w-cli php71w-common php71w-devel php71w-gd php71w-pdo php71w-mysql php71w-mbstring php71w-bcmath php71w-mcrypt -y \
&& yum install -y php71w-fpm \
&& yum install -y epel-release \
&& yum install -y nginx \
&& rm -rf /usr/share/nginx/html
ADD wordpress-5.7.2-zh_CN.tar.gz /usr/share/nginx
RUN chown nginx.nginx -R /usr/share/nginx/wordpress
COPY nginx.conf /etc/nginx/nginx.conf
COPY entrypoint.sh /
CMD ["bash","/entrypoint.sh"]
FROM 基于哪个镜像部署(父镜像) RUN 后面跟要执行的命令? ADD 把宿主机的文件拷贝到容器中,并解压 COPY 把宿主机中的文件拷贝到容器中 CMD 容器的启动命令
3.编写entrypoint.sh 脚本
#! /usr/bin/bash
php-fpm
nginx
tail -f /var/log/nginx/access.log
4.修改nginx.conf文件
cp /etc/nginx/nginx.conf . #复制一份nginx.conf到当前目录,没有可以用yum下一个nginx
vim nginx.conf
...
server {
listen 80;
server_name - ;
location / {
root /usr/share/nginx/wordpress;
index index.php;
}
location ~ \.php$ {
root /usr/share/nginx/wordpress;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
...
#将nginx.conf中server模块替换成上面的
5.下载wordpress压缩包
wordpress官网:https://cn.wordpress.org/
wget https://cn.wordpress.org/latest-zh_CN.tar.gz
注意:下载的压缩包名字要和Dockerfile一致,默认下载最新版本
6.下载mysql镜像
docker pull daocloud.io/mariadb:5.5 #拉取镜像
docker run -itd -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=wordpress -v /root/docker/mysql:/var/lib/mysql --name mysql mariadb:5.5
# 创建容器,-d 后台运行 -v 宿主机目录:容器中的目录 将容器目录挂载到宿主机目录 --name 给容器取个名字
7.创建wordpress镜像
docker build -t wordpress:v1 .
#指定镜像名和版本,使用当前目录下的Dockerfile来创建
8.运行wordpress容器
docker run -itd --link mysql -p 80:80 --name wordpress wordpress:v1
# -p 将容器的80端口映射到宿主机上
#--link 链接mysql容器,就是在该容器中做了mysql容器的本地解析
9.查看镜像
docker images
10.查看容器运行情况
docker ps
11.访问宿主机的ip,出现wordpress部署页面说明部署成功
|