资讯专栏INFORMATION COLUMN

Docker安装LNMP环境的详细过程

3119555200 / 401人阅读

步骤一  Docker安装


启动后加入开机启动


yum install docker
sudo systemctl start docker
sudo systemctl enable docker


步骤二  nginx安装


拉取官方镜像,创建并运行容器,映射端口为80


docker pull nginx
docker run --name nginx -p 80:80 -d nginx


步骤三   安装PHP


拉取的管方镜像,可以根据自己所需拉取


docker pull phpdockerio/php7-fpm


步骤四   nginx运行路径


进入nginx容器,查看nginx配置文件


docker exec -it nginx bash
cat /etc/nginx/conf.d/default.conf -n


步骤五   创建并运行php容器


docker run --name phpfpm -d 9000:9000 -v /var/www/html:/usr/share/nginx/html -d phpdockerio/php7-fpm


步骤六   创建index2.php测试文件


进入php容器,进入运行目录,docker没有安装vim,vim 创建index2.php


docker exec -it phpfpm bash
cd /usr/share/nginx/html
apt-get update
apt-get install vim
cat << EOF > /root/.vimrc
:set encoding=utf-8
:set fileencodings=ucs-bom,utf-8,cp936
:set fileencoding=gb2312
:set termencoding=utf-8
EOF
vim index2.php
<?php
echo 1;
?>


步骤七   获取容器ip


docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' phpfpm
# 172.17.0.3


步骤八   配置nginx


进入nginx配置目录,安装vim


docker exec -it nginx bash
cd /etc/nginx/conf.d
apt-get update
apt-get install vim
vim default.conf
location / {
root /usr/share/nginx/html/tp5.1/public;
index index.html index.htm index.php;
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}
location ~ \.php$ {
root /usr/share/nginx/html/tp5.1/public;
fastcgi_pass 172.17.0.3:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
include fastcgi_params;
}
docker restart nginx


保存退出,重启nginx


步骤九   拉取Mysql镜像


创建并运行mysql容器


docker pull mysql
docker run --name mysql -p 3306:3306 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
docker exec -it mysql /bin/bash
mysql -uroot -p
GRANT ALL ON *.* TO 'root'@'%';
flush privileges;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;


刷新权限


步骤十   服务器文件放入容器


查看容器id


docker ps 
docker cp linux文件 容器id:容器路径


php -i | grep 'php.ini'
1.docker cp mynginx:/etc/nginx/conf.d/default.conf /users/nginx/default.conf
2.docker cp /users/nginx/default.conf mynginx:/etc/nginx/conf.d/default.conf


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/127723.html

相关文章

  • docker 搭建lnmp开发环境

    摘要:学习心得前言耗时一周零三天,终于用搭建起自己的开发环境。来搭建一下环境,然后,桌面没了。作为过来人,我只想说,一定要只做一件事,不要过多的去研究,我们只是想搭建本地运行环境。 docker学习心得 前言 耗时一周零三天,终于用docker搭建起自己的开发环境。详细过程:请参考分解docker在lnmp环境搭建中的作用showImg(https://segmentfault.com/im...

    Hydrogen 评论0 收藏0
  • DockerLNMP一键安装开发环境 + PHP非侵入式监控平台xhgui(优化系统性能、定位Bu

    摘要:日志日志是我们用得最多的日志,所以我们单独放在根目录下。会目录映射容器的目录,所以在配置文件中,需要输出的位置,我们需要配置到目录,如日志因为容器中的使用的是用户启动,它无法自行在下的增加日志文件。 DNMP PLUS dnmp = Docker + Nginx + MySQL + PHP + Redis + MongDB plus = xhgui + xhprof + tideway...

    explorer_ddf 评论0 收藏0
  • DockerLNMP一键安装开发环境 + PHP非侵入式监控平台xhgui(优化系统性能、定位Bu

    摘要:日志日志是我们用得最多的日志,所以我们单独放在根目录下。会目录映射容器的目录,所以在配置文件中,需要输出的位置,我们需要配置到目录,如日志因为容器中的使用的是用户启动,它无法自行在下的增加日志文件。 DNMP PLUS dnmp = Docker + Nginx + MySQL + PHP + Redis + MongDB plus = xhgui + xhprof + tideway...

    waterc 评论0 收藏0
  • DockerLNMP一键安装开发环境 + PHP非侵入式监控平台xhgui(优化系统性能、定位Bu

    摘要:日志日志是我们用得最多的日志,所以我们单独放在根目录下。会目录映射容器的目录,所以在配置文件中,需要输出的位置,我们需要配置到目录,如日志因为容器中的使用的是用户启动,它无法自行在下的增加日志文件。 DNMP PLUS dnmp = Docker + Nginx + MySQL + PHP + Redis + MongDB plus = xhgui + xhprof + tideway...

    luzhuqun 评论0 收藏0
  • DockerLNMP一键安装开发环境 + PHP非侵入式监控平台xhgui(优化系统性能、定位Bu

    摘要:的一键安装开发环境非侵入式监控平台优化系统性能定位的神器之前在用做本地开发环境,因为没有这些对程序性能追踪及分析的工具,所以索性基于的编排了一套自己使用。 DNMP PLUS dnmp = Docker + Nginx + MySQL + PHP + Redis + MongDB plus = xhgui + xhprof + tideways dnmp-plus = PHPer 的一...

    AlanKeene 评论0 收藏0

发表评论

0条评论

3119555200

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<