快速搭建LNMP网站平台
步骤:
1、自定义网络
docker network create lnmp
2、创建Mysql容器
docker run -d \
--name lnmp_mysql \
--net lnmp \
--mount src=mysql-vol,dst=/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=wordpress mysql:5.7 --character-set-server=utf8
3、创建PHP容器
docker run -d --name lnmp_php --net lnmp --mount src=wwwroot,dst=/wwwroot php:v1
4、创建Nginx容器
docker run -d --name lnmp_nginx --net lnmp -p 88:80 \
--mount type=bind,src=$(pwd)/nginx.conf,dst=/usr/local/nginx/conf/nginx.conf --mount src=wwwroot,dst=/wwwroot nginx:v1
5、以wordpress博客为例
https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
一下是整个实践过程:
#创建一个自定义网络,之后的nginx,tomcat,php,mysql都使用这个网络,就是让这些容器都使用同一个网段,这样互相之间通信就方便 [root@192 ~]# docker network create lnmp b36da77912c714a0ab918c6a0768c3e85cc950fe164610ffdd046b9a71e0ce83 #创建Mysql容器,将宿主机的mysql-vol卷挂在到容器的/var/lib/mysql,这样mysql数据就持久化了,删除容器 在msyql-vol卷的数据不会被删除 [root@192 ~]# docker run -d --name lnmp_mysql --net lnmp --mount src=mysql-vol,dst=/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=wordpress mysql:5.7 --character-set-server=utf8 845547a65a147b0d0be312e3f46bd7cbb56968a817e27e59c29d6a4455e0d7d6 #这里默认在容器里创建了一个mysql-vol的卷,物理位置通过下面docker volume inspect wwwroot命令查看到在/var/lib/docker/volumes/wwwroot/_data [root@192 ~]# docker volume ls DRIVER VOLUME NAME local 21c33f15f6d7c5a8609e99f9dfb4f4a9fb4865dc67e7b7d57393287c8ab925f2 local mysql-vol local nginx-vol [root@192 ~]# docker run -d --name lnmp_php --net lnmp --mount src=wwwroot,dst=/wwwroot php:v1 9eff3efb9e671a90b9bf966087f8fd567928db523215750f5eeb1eca8eb9e9ca [root@192 ~]# docker volume ls DRIVER VOLUME NAME local 21c33f15f6d7c5a8609e99f9dfb4f4a9fb4865dc67e7b7d57393287c8ab925f2 local mysql-vol local nginx-vol local wwwroot [root@192 ~]# docker volume inspect wwwroot [ { "CreatedAt": "2019-03-15T00:17:44+08:00", "Driver": "local", "Labels": null, "Mountpoint": "/var/lib/docker/volumes/wwwroot/_data", "Name": "wwwroot", "Options": null, "Scope": "local" } ] #创建Nginx容器 [root@192 ~]# ls anaconda-ks.cfg dockerfile_.zip nginx nginx.tar php tomcat [root@192 ~]# cd nginx [root@192 nginx]# docker run -d --name lnmp_nginx --net lnmp -p 88:80 --mount type=bind,src=$(pwd)/nginx.conf,dst=/usr/local/nginx/conf/nginx.conf --mount src=wwwroot,dst=/wwwroot nginx:v1 4c510b4a8172862555e7cf455c05d9a4068b25e395cae69a32052acc7e2a4da0 #进入宿主机/var/lib/docker/volumes/wwwroot/_data 创建 index.html文件,这样通过浏览器http://<宿主机ip>:88端口,就能访问到新建的index.html [root@192 nginx]# cd /var/lib/docker/volumes/wwwroot/_data [root@192 _data]# ls [root@192 _data]# vi index.html [root@192 ~]# docker volume inspect wwwroot [ { "CreatedAt": "2019-03-15T00:17:44+08:00", "Driver": "local", "Labels": null, "Mountpoint": "/var/lib/docker/volumes/wwwroot/_data", "Name": "wwwroot", "Options": null, "Scope": "local" } ] [root@192 ~]# ls anaconda-ks.cfg dockerfile_.zip nginx nginx.tar php tomcat [root@192 ~]# cd nginx [root@192 nginx]# docker run -d --name lnmp_nginx --net lnmp -p 88:80 --mount type=bind,src=$(pwd)/nginx.conf,dst=/usr/local/nginx/conf/nginx.conf --mount src=wwwroot,dst=/wwwroot nginx:v1 4c510b4a8172862555e7cf455c05d9a4068b25e395cae69a32052acc7e2a4da0 [root@192 nginx]# cd /var/lib/docker/volumes/wwwroot/_data [root@192 _data]# ls [root@192 _data]# vi index.html [root@192 _data]# vi test.php [ { "CreatedAt": "2019-03-15T00:17:44+08:00", "Driver": "local", "Labels": null, "Mountpoint": "/var/lib/docker/volumes/wwwroot/_data", "Name": "wwwroot", "Options": null, "Scope": "local" } ] #部署一个php项目wordpress博客系统,先安装wget命令,下载php项目 anaconda-ks.cfg dockerfile_.zip nginx nginx.tar php tomcat [root@192 ~]# wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz -bash: wget: 未找到命令 [root@192 ~]# yum install wget -y 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: ftp.sjtu.edu.cn * updates: ftp.sjtu.edu.cn 正在解决依赖关系 --> 正在检查事务 ---> 软件包 wget.x86_64.0.1.14-18.el7 将被 安装 --> 解决依赖关系完成 依赖关系解决 ================================================================================================================= Package 架构 版本 源 大小 ================================================================================================================= 正在安装: wget x86_64 1.14-18.el7 base 547 k 事务概要 ================================================================================================================= 安装 1 软件包 总下载量:547 k 安装大小:2.0 M Downloading packages: wget-1.14-18.el7.x86_64.rpm | 547 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction 正在安装 : wget-1.14-18.el7.x86_64 1/1 验证中 : wget-1.14-18.el7.x86_64 1/1 已安装: wget.x86_64 0:1.14-18.el7 完毕! [root@192 ~]# wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz --2019-03-15 00:29:38-- https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz 正在解析主机 cn.wordpress.org (cn.wordpress.org)... 198.143.164.252 正在连接 cn.wordpress.org (cn.wordpress.org)|198.143.164.252|:443... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:9082696 (8.7M) [application/octet-stream] 正在保存至: “wordpress-4.9.4-zh_CN.tar.gz” 100%[=======================================================================>] 9,082,696 1.79MB/s 用时 4.8s 2019-03-15 00:29:44 (1.79 MB/s) - 已保存 “wordpress-4.9.4-zh_CN.tar.gz” [9082696/9082696]) [root@192 ~]# ls anaconda-ks.cfg dockerfile_.zip nginx nginx.tar php tomcat wordpress-4.9.4-zh_CN.tar.gz [root@192 ~]# tar wordpress-4.9.4-zh_CN.tar.gz tar: 旧选项“C”需要参数。 请用“tar --help”或“tar --usage”获得更多信息。 #解压 [root@192 ~]# tar xvf wordpress-4.9.4-zh_CN.tar.gz wordpress/ ... #将wordpress文件夹移动到 [root@192 ~]# cd /var/lib/docker/volumes/wwwroot/_data [root@192 _data]# ls index.html test.php [root@192 _data]# mv /root/wordpress/* . [root@192 _data]# ls index.html test.php wp-comments-post.php wp-includes wp-mail.php xmlrpc.php index.php wp-activate.php wp-config-sample.php wp-links-opml.php wp-settings.php license.txt wp-admin wp-content wp-load.php wp-signup.php readme.html wp-blog-header.php wp-cron.php wp-login.php wp-trackback.php
现在通过浏览器,可以访问:
[root@192 _data]# vi wp-config.php
将上面蓝色代码全选 copy到wp-config.php
到此,完整的在容器中搭建了一个博客系统。
如果搭建环境遇到文件,建议从第一遍开始看,都是连续的。
作者: 梅梅~
出处: https://www.cnblogs.com/keeptesting
关于作者:专注软件测试,测试运维相关工作,请多多赐教!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 欢迎沟通交流加微信联系。 微信:yangguangkg20140901 暗号:博客园.