博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dockerfile_nginx+PHP+mongo数据库_完美搭建
阅读量:4326 次
发布时间:2019-06-06

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

 
基于dockerfile创建nginx+PHP+mongo数据库_完美搭建
 
 
第一步:
 
从git上:git clone 
 
进入下图的文件夹中
然后执行以下的说明执行步骤
 
第二步:
开发环境dockerfile
 
BUILD
docker build -t silentmoon/centos7:devel -f centos7_ssh_devel .
//咖啡时间,请保持网络连接,如果网速慢的话,就别继续往下看了。
 
RUN
docker run -d -P --name devel_centos7_ssh -h develop silentmoon/centos7:devel
//没有报错就说明镜像启动正常 docker ps 看一下是否存在
 
ACCESS
  • User/Password:   work/qwe!@#bnm root/4man49a52e27
  • Method of ssh
ssh work@127.0.0.1 -p32768           //一般情况是32768,docker ps查看一下
  • Method of docker
docker exec -it 9e34e8ff45ea bash      //容器 id 需要自己查看
  • Method of Shell
ln -s `pwd`/devel ~/bin/devel chmod 755 ~/bin/devel devel  //可不做这步
 
Work Directory Structure
cd ~
mkdir app
mkdir env
mkdir src
mkdir tmp
mkdir tar
mkdir bin
 
Nginx Install
GET
cd ~/src wget http://www.oursdata.com/misc/nginx-1.10.2.tar.gz tar -zxvf nginx-1.10.2
 
Configure & Make
cd ~/src/nginx-1.10.2
./configure --prefix=/home/work/env/nginx --sbin-path=/home/work/env/nginx/sbin/nginx --conf-path=/home/work/env/nginx/conf/nginx.conf --error-log-path=/home/work/env/nginx/error-log --pid-path=/home/work/env/nginx/run/nginx.pid --lock-path=/home/work/env/nginx/lock/nginx.lock --user=work --group=work make && make install
补充:默认下nginx是没有启动的,需要进入sbin文件下,./nginx 启动 ./nginx -s reload 重新加载nginx
 
 
PHP Install
GET
cd ~/src wget http://www.oursdata.com/misc/php-5.6.29.tar.gz tar -zxvf php-5.6.29.tar.gz
 
Configure & Make
cd ~/src/php-5.6.29
./configure --prefix=/home/work/env/php --with-config-file-path=/home/work/env/php/etc --with-mysqli --with-pdo-mysql --with-gd --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype --with-xpm-dir=/usr/ --with-vpx-dir=/usr/local/libvpx/ --with-zlib-dir=/usr/local/zlib --with-iconv --enable-libxml --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-opcache --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl --enable-ctype make && make install
 
补充:etc文件下是没有php.ini文件,需要到80服务器上复制一个配置文件过来且可以同时把80服务器上的ext下扩展文件也拷贝过来,然后去sbin文件执行
./php-fpm -c ../etc/php.ini
 
 
设置nginx配置文件:
再nginx的结尾处nginx.conf
加上 include hosts/*.conf;
 
然后再conf文件夹下新建一个hosts文件夹,在hosts文件新建
配置文件如:
tianjian.conf
 
server {
listen 80;
index index.php;
root /home/work/app
/tj-bdaas/src/tj-bdaas/src/web/web;   //此处是你自己定制的web访问的项目地址就是你-v映射到容器里路径
server_name
tianjian.loc.cn;      //此处为自己配置的虚拟域名地址
location / {
index index.php;
if (!-e $request_filename){
rewrite ^/(.*) /index.php last; }
}
 
location ~ \.php$
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
配置文件完成后,进入sbin文件下 执行
./nginx -s reload
 
最后去 vim /etc/hosts 文件下配置自己的虚拟域名,如下图
 
 
 tianjian.loc.cn   已可以访问PHP页面ok!
 
第三步
 
此时容器里面的nginx和php 已经安装完成,现在可以把这个容易做成一个镜像
docker commit -m "change somth" -a "somebody info" container_id(docker ps -a获取id)
新镜像名字 //
这样就会生成一个新的镜像
 
通过
docker images
就会看到自己制作的镜像
 
第四步
 
把自己镜像再放到容器里面
docker制作镜像
docker run -p 127.0.0.1:8080:80 -p 127.0.0.1:32768:22 -d -v /usr/local/var/www/philisense/tj-bdaas/src:/home/work/app tang/centos_devel:latest
这样就大功告成了!
 
 
如果数据库为mongodb库,需要安装下mongo 数据库
docker pull mongo //由于网络原因,可能会报错,多pull几次就可以
docker pull mongo -express //由于网络原因,可能会报错,多pull几次就可以
 
 
创建mongoldb容器
docker run —name mongo -p 27017:27017 -d mongo
 
创建mongo-expres容器
docker run —link mongo:mongo —name mongo-express -p 8081:8081 -d mongo-express
 
 
sudo docker inspect mongo 查看mongo的ip地址

 

转载于:https://www.cnblogs.com/liuyansheng/p/6590104.html

你可能感兴趣的文章
5个基于HTML5的加载动画推荐
查看>>
水平权限漏洞的修复方案
查看>>
静态链接与动态链接的区别
查看>>
Android 关于悬浮窗权限的问题
查看>>
如何使用mysql
查看>>
linux下wc命令详解
查看>>
敏捷开发中软件测试团队的职责和产出是什么?
查看>>
在mvc3中使用ffmpeg对上传视频进行截图和转换格式
查看>>
python的字符串内建函数
查看>>
Spring - DI
查看>>
微软自己的官网介绍 SSL 参数相关
查看>>
Composite UI Application Block (CAB) 概念和术语
查看>>
ajax跨域,携带cookie
查看>>
阶段3 2.Spring_01.Spring框架简介_03.spring概述
查看>>
阶段3 2.Spring_02.程序间耦合_1 编写jdbc的工程代码用于分析程序的耦合
查看>>
阶段3 2.Spring_01.Spring框架简介_04.spring发展历程
查看>>
阶段3 2.Spring_02.程序间耦合_3 程序的耦合和解耦的思路分析1
查看>>
阶段3 2.Spring_02.程序间耦合_5 编写工厂类和配置文件
查看>>
阶段3 2.Spring_01.Spring框架简介_05.spring的优势
查看>>
阶段3 2.Spring_02.程序间耦合_7 分析工厂模式中的问题并改造
查看>>