博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker: 快速搭建LNMP网站平台
阅读量:4321 次
发布时间:2019-06-06

本文共 7961 字,大约阅读时间需要 26 分钟。

快速搭建LNMP网站平台

步骤:

1、自定义网络(这里建立一个自定义网络,名字叫 lnmp, 让LNMP网站的服务,都加入这个自定义网络)

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容器(--mount src=wwwroot,dst=/wwwroot  代表使用默认使用 /var/lib/docker/volumes/wwwroot作为挂载点,如果事先没有创建wwwroot,会自动创建,挂载到 容器的/wwwroot目录 )
docker run -d --name lnmp_php --net lnmp --mount src=wwwroot,dst=/wwwroot php:v1
4、创建Nginx容器(--mount type=bind,src=$(pwd)/nginx.conf,dst=/usr/local/nginx/conf/nginx.conf 将宿主机的nginx.conf挂在到容器内的/usr/local/nginx/conf/nginx.conf, 这个方法很好,可以提前把任何配置文件准备好,省得每次创建新容器时,需要修改容器内服务的配置文件。  )
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

(--mount src=wwwroot,dst=/wwwroot 这里配置挂载容器内的 /wwwroot目录,是因为nginx服务的nginx.conf里配置了网站访问根目录是/wwwroot)

5、以wordpress博客为例,将tar文件下载下来,解压到宿主机/var/lib/docker/volumes/wwwroot 目录下, 就能使用http://192.168.1.30:88/访问到wordpress前台管理界面
https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz

 

 以下是整个实践过程:

#创建一个自定义网络,之后的nginx,tomcat,php,mysql都使用这个网络,就是让这些容器都使用同一个网段,这样互相之间通信就方便[root@192 ~]# docker network create lnmpb36da77912c714a0ab918c6a0768c3e85cc950fe164610ffdd046b9a71e0ce83#创建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=utf8845547a65a147b0d0be312e3f46bd7cbb56968a817e27e59c29d6a4455e0d7d6#这里默认在容器里创建了一个mysql-vol的卷,物理位置通过下面命令查看到在/var/lib/docker/volumes/wwwroot/_data[root@192 ~]# docker volume lsDRIVER              VOLUME NAMElocal               21c33f15f6d7c5a8609e99f9dfb4f4a9fb4865dc67e7b7d57393287c8ab925f2local               mysql-vollocal               nginx-vol[root@192 ~]# docker run -d --name lnmp_php --net lnmp --mount src=wwwroot,dst=/wwwroot php:v19eff3efb9e671a90b9bf966087f8fd567928db523215750f5eeb1eca8eb9e9ca[root@192 ~]# docker volume lsDRIVER              VOLUME NAMElocal               21c33f15f6d7c5a8609e99f9dfb4f4a9fb4865dc67e7b7d57393287c8ab925f2local               mysql-vollocal               nginx-vollocal               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 ~]# lsanaconda-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:v14c510b4a8172862555e7cf455c05d9a4068b25e395cae69a32052acc7e2a4da0#进入宿主机/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 ~]# lsanaconda-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:v14c510b4a8172862555e7cf455c05d9a4068b25e395cae69a32052acc7e2a4da0[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已加载插件:fastestmirrorLoading 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 MDownloading packages:wget-1.14-18.el7.x86_64.rpm | 547 kB 00:00:00 Running transaction checkRunning transaction testTransaction test succeededRunning 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 ~]# lsanaconda-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]# lsindex.html test.php[root@192 _data]# mv /root/wordpress/* .[root@192 _data]# lsindex.html test.php wp-comments-post.php wp-includes wp-mail.php xmlrpc.phpindex.php wp-activate.php wp-config-sample.php wp-links-opml.php wp-settings.phplicense.txt wp-admin wp-content wp-load.php wp-signup.phpreadme.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

到此,完整的在容器中搭建了一个博客系统。

如果搭建环境遇到文件,建议从第一篇开始看,笔记是连续的。 

 

#使用容器名停止容器 [root@192 wwwroot]# docker container stop lnmp_mysqllnmp_mysql[root@192 wwwroot]# docker container stop lnmp_phplnmp_php[root@192 wwwroot]# docker container stop lnmp_nginxlnmp_nginx
#使用容器名启动容器
[root@192 wwwroot]# docker container start lnmp_nginx lnmp_nginx [root@192 wwwroot]# docker container start lnmp_php lnmp_php [root@192 wwwroot]# docker container start lnmp_mysql lnmp_mysql

 

 

 

作者:

出处:

关于作者:专注软件测试,测试运维相关工作,请多多赐教!

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 欢迎沟通交流加微信联系。 微信:yangguangkg20140901 暗号:博客园.

转载于:https://www.cnblogs.com/keeptesting/p/10537373.html

你可能感兴趣的文章
团队编程项目作业2-团队编程项目代码设计规范
查看>>
英特尔公司将停止910GL、915GL和915PL芯片组的生产
查看>>
团队编程项目作业2-团队编程项目开发环境搭建过程
查看>>
<Using parquet with impala>
查看>>
07-Java 中的IO操作
查看>>
通过镜像下载Android系统源码
查看>>
Maven配置
查看>>
HttpServletRequest /HttpServletResponse
查看>>
SAM4E单片机之旅——24、使用DSP库求向量数量积
查看>>
从远程库克隆库
查看>>
codeforces Unusual Product
查看>>
hdu4348 - To the moon 可持久化线段树 区间修改 离线处理
查看>>
正则表达式的搜索和替换
查看>>
个人项目:WC
查看>>
地鼠的困境SSL1333 最大匹配
查看>>
flume+elasticsearch+kibana遇到的坑
查看>>
【MM系列】在SAP里查看数据的方法
查看>>
C#——winform
查看>>
CSS3 transform制作的漂亮的滚动式导航
查看>>
《小强升职记——时间管理故事书》读书笔记
查看>>