1. 首页
  2. 技术知识

Docker安装LNMP环境的详细过程(可部署TP项目)

目录

    Docker安装LNMP环境1、安装Docker2、 安装nginx3、 安装PHP4、 查看nginx运行路径5、 创建并运行php容器6、 进入php容器,创建index2.php测试文件7、 获取到phpfpm 这个容器的ip8、配置nginx 以便支持php文件访问9、 拉取Mysql镜像10、 服务器文件放入容器中

Docker安装LNMP环境


1、安装Docker

  1. yum install docker
  2. # 启动并加入开机启动
  3. sudo systemctl start docker
  4. sudo systemctl enable docker

复制代码
2、 安装nginx

  1. # 拉取管方镜像
  2. docker pull nginx
  3. # 创建并运行容器,映射端口为80
  4. docker run –name nginx -p 80:80 -d nginx
  5. # 访问IP,nginx能够正常运行

复制代码
3、 安装PHP

  1. # 拉取管方镜像,这里拉取的是php7,根据自己所需拉取
  2. docker pull phpdockerio/php7-fpm

复制代码
4、 查看nginx运行路径

  1. # 进入nginx容器
  2. docker exec -it nginx bash
  3. # 查看nginx配置文件
  4. cat /etc/nginx/conf.d/default.conf -n
  5. # 找到location / {
  6. #     root    /usr/share/nginx/html;#这是nginx默认运行路径
  7. #     index   index.html index.html;
  8. # }

复制代码
5、 创建并运行php容器

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

复制代码
6、 进入php容器,创建index2.php测试文件

  1. # 进入php容器
  2. docker exec -it phpfpm bash
  3. # 进入运行目录
  4. cd /usr/share/nginx/html
  5. # vim 创建index2.php
  6. # 因为docker没有安装vim,此时运行
  7. apt-get update
  8. apt-get install vim
  9. cat << EOF > /root/.vimrc
  10. :set encoding=utf-8
  11. :set fileencodings=ucs-bom,utf-8,cp936
  12. :set fileencoding=gb2312
  13. :set termencoding=utf-8
  14. EOF
  15. # 创建index2.php
  16. vim index2.php
  17. <?php
  18.     echo 1;
  19. ?>
  20. # esc :wq 保存退出

复制代码
7、 获取到phpfpm 这个容器的ip

  1. docker inspect -f ‘{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}’ phpfpm
  2. # 172.17.0.3

复制代码
8、配置nginx 以便支持php文件访问

  1. docker exec -it nginx bash
  2. # 进入nginx配置目录
  3. cd /etc/nginx/conf.d
  4. # 安装vim
  5. apt-get update
  6. apt-get install vim
  7. # 编辑default.conf配置文件
  8. vim default.conf
  9. # 在default.conf中加入
  10. location / {
  11.     root                  /usr/share/nginx/html/tp5.1/public;#不是tp的话去掉/tp5.1/public
  12.     index                  index.html index.htm index.php;
  13.     if (!-e $request_filename){
  14.         rewrite ^(.*)$ /index.php?s=/$1 last;
  15.         break;
  16.     }
  17. }
  18. location ~ \.php$ {
  19.         root            /usr/share/nginx/html/tp5.1/public;#不是tp的话去掉/tp5.1/public
  20.         fastcgi_pass    172.17.0.3:9000;
  21.         fastcgi_index   index.php;
  22.         fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
  23.         fastcgi_param        PATH_INFO $fastcgi_path_info;
  24.         fastcgi_param        PATH_TRANSLATED $document_root$fastcgi_path_info;
  25.         fastcgi_split_path_info                ^((?U).+\.php)(/?.+)$;
  26.         include         fastcgi_params;
  27. }
  28. # 保存退出,重启nginx
  29. docker restart nginx
  30. # 访问ip/index2.php,成功

复制代码
9、 拉取Mysql镜像

  1. docker pull mysql
  2. # 创建并运行mysql容器
  3. 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
  4. #这是使用navicat连接会报错
  5. docker exec -it mysql /bin/bash
  6. mysql -uroot -p
  7. #授权
  8. GRANT ALL ON *.* TO ‘root’@’%’;
  9. #刷新权限
  10. flush privileges;
  11. #更新加密规则
  12. ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;
  13. #更新root密码
  14. ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
  15. #刷新权限
  16. flush privileges;

复制代码
10、 服务器文件放入容器中

  1. docker ps  #查看容器id
  2. docker cp linux文件 容器id:容器路径

复制代码

  1. #linux中查找php.ini
  2. php -i | grep ‘php.ini’
  3. #docker 因配置文件出错无法进入容器内解决办法
  4. #将容器配置文件复制到服务器上
  5. 1.docker cp mynginx:/etc/nginx/conf.d/default.conf /users/nginx/default.conf
  6. #修改后再写回容器中
  7. 2.docker cp /users/nginx/default.conf mynginx:/etc/nginx/conf.d/default.conf

复制代码 到此这篇关于Docker简单安装LNMP环境(可部署TP项目)的文章就介绍到这了,更多相关Docker 安装LNMP环境内容请搜索软件技术网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件技术网!

原创文章,作者:starterknow,如若转载,请注明出处:https://www.starterknow.com/109165.html

联系我们