ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

docker部署LNMP&phpMyAdmin的方法步骤

2021-01-30 19:58:50  阅读:242  来源: 互联网

标签:phpMyAdmin 容器 LNMP nginx docker01 sqm docker root


环境准备:
在一台主机上部署lnmp,基于多个容器:
nginx服务:172.16.10.10
mysql服务:172.16.10.20
php服务:172.16.10.30
解决容器固定ip地址问题:
注意:因为当容器停止时或者将容器删除,再次运行相同的容器,它的ip地址不再时原来的地址,所以我们需要自定义一个网段,来指定容器的ip地址。
项目操作:
(1) 首先自定义一个网络:
[root@sqm-docker01 ~]# docker network create -d bridge --subnet 172.16.10.0/24 --gateway 172.16.10.1 mynet1
(2)下载nginx,php:fpm,mysql-5.7镜像:
[root@sqm-docker01 ~]# docker pull nginx
[root@sqm-docker01 ~]# docker pull php:7.2-fpm
[root@sqm-docker01 ~]# docker pull mysql:5.7

(3)####运行一个基于nginx镜像的容器#####
#先将nginx服务运行,以拷贝出nginx的配置文件:

参数解释:
run :创建一个新的容器 -d:后台运行 --name:自定义名称为test1
在宿主机创建需要挂载文件的目录:
网站主目录:/wwwroot;
nginx的配置文件:/docker;
[root@sqm-docker01 ~]# mkdir /wwwroot
[root@sqm-docker01 ~]# mkdir /docker
##使用docker cp命令将nginx存放配置文件的目录拷贝到本机,
注意:docker cp命令可以将宿主机上的文件拷贝到容器中,也可以反向拷贝,将容器中的文件或目录拷贝到本机
[root@sqm-docker01 ~]# docker cp test1:/etc/nginx /docker/ #使用docker cp将nginx存放配置文件的目录拷贝到宿主机。
[root@sqm-docker01 ~]# ls /docker/nginx/conf.d/

default.conf
#注意:需要修改的是nginx conf.d目录下的default.conf文件,而不是nginx.conf 文件。
拷贝nginx网页目录:
[root@sqm-docker01 ~]# docker cp test1:/usr/share/nginx/html /wwwroot/
[root@sqm-docker01 ~]# ls /wwwroot/html/
50x.html index.html
修改nginx默认的测试网页:
[root@sqm-docker01 html]# echo “

hello welcome to nginx web

” > index.html

(4)运行nginx容器:
分别将容器中目录挂载到本地目录,并且指定ip地址
[root@sqm-docker01 ~]# docker run -itd --name nginx --network my_net1 --ip 172.16.10.10 -p 80:80 -v /docker/nginx:/etc/nginx -v /wwwroot/html:/usr/share/nginx/html nginx:latest
参数解释:
run:运行一个容器 -itd: i:可交互 t:伪终端 d:保持容器后台运行 --network :基于哪张网卡创建网络 --ip: 定义容器的ip地址 -v = --volume 数据卷,进行一个挂载 挂载格式: 宿主机:容器内 p:映射端口,站长博客宿主机端口:容器内端口
(5)运行mysql容器:
[root@sqm-docker01 ~]# docker run --name mysql -e MYSQL_ROOT_PASSWORD=123.com -d -p 3306:3306 --network my_net1 --ip 172.16.10.20 mysql:5.7

标签:phpMyAdmin,容器,LNMP,nginx,docker01,sqm,docker,root
来源: https://blog.csdn.net/weixin_54928453/article/details/113445253

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有