基于dockerfile创建nginx+PHP+mongo数据库_完美搭建
第一步:
进入下图的文件夹中
然后执行以下的说明执行步骤
第二步:
开发环境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查看一下
docker exec -it 9e34e8ff45ea bash //容器 id 需要自己查看
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使用现有容器生成新的镜像
这样就会生成一个新的镜像
通过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地址
- 【MongoDB】windows平台搭建Mongo数据库复制集(类似集群)(转)
原文链接:[MongoDB]windows平台搭建Mongo数据库复制集(类似集群)(一) Replica Sets(复制集)是在mongodDB1.6版本开始新增的功能,它可以实现故障自动切换和自 ...
- OCM_第十八天课程:Section8 —》RAC 数据库 _ RAC DB 搭建/RAC DB 配置使用
注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...
- 【MongoDB】windows平台搭建Mongo数据库复制集(相似集群)(三)
关于windows平台搭建Mongo数据库复制集这个话题,我已经在前面写了两篇博客 第一篇: 怎样在windows平台搭建Mongo数据库复制集 第二篇: 数据同步和故障自适应測试 在本篇里面,咱们重 ...
- Mongodb数据库学习系列————(一)Mongodb数据库主从复制的搭建
Mongodb数据库主从复制的搭建 Writeby:lipeng date:2014-10-22 最近项目上用到了位置查询,在网上 ...
- 将 node.js 的数据保存到 mongo 数据库中
Mongo 数据库 安装 首先到 Mongo 的官方网站下载安装程序:http://www.mongodb.org/,我下载的文件名为:mongodb-win32-x86_64-2008plus-2. ...
- mongo数据库基础操作
概念 一个mongod服务可以有建立多个数据库,每个数据库可以有多张表,这里的表名叫collection,每个collection可以存放多个文档(document),每个文档都以BSON(binar ...
- 二、mongo数据库
官网:https://www.mongodb.com/ 进入官网 右上角有个下载按钮Download 1.完成安装后:运行--cmd(命令面板) 2.常用命令: 打开数据库 mongod –dbpat ...
- Robot Framework自动化_环境搭建以及第一个用例
Robot Framework自动化_环境搭建以及第一个脚本 培训老师:肖能尤 2016/06/07 课程目的 一.Robot framework 环境搭建以及第一个脚本 课程内容 1 安装前准 ...
- Docker Mongo数据库开启用户认证
一.启动mongo容器的几种方式 #简化版 docker run --name mongo1 -p 21117:27017 -d mongo --noprealloc --smallfiles #自定 ...
随机推荐
- C 标准库 - <signal.h>
C 标准库 - <signal.h> 简介 signal.h 头文件定义了一个变量类型 sig_atomic_t.两个函数调用和一些宏来处理程序执行期间报告的不同信号. 库变量 下面是头文 ...
- vue2.0 + vux (二)Footer组件
1.Footer组件 Footer.vue <!-- 底部 footer --> <template> <div> <tabbar> <!-- 综 ...
- was系统错误日志大量出现标识符缺失
原创作品.出自 "深蓝的blog" 博客,深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/46909941 近日 ...
- SpringBoot学习之pom文件常见错误
错误1 上图的错误需要添加jar包的版本号,springboot自动生成不需要添加版本号,手动添加的需要指定版本号. 所以pom.xml如下方式:
- 《C程序猿:从校园到职场》出版预告(4):从“散兵游勇”到“正规部队”
看过电视剧<楚汉传奇>的朋友应该对这个场景还有印象:当刘邦第一次去找项羽帮忙的时候.他们一行人看到了项羽军营是怎样练兵的.想到自己练兵的方法,当时就震惊了."刘家军"就 ...
- 【每日Scrum】第六天(4.16) TD学生助手Sprint1阶段性成果
TD学生助手Sprint1阶段性成果(4.16) 任务看板 站立会议内容 组员 昨天 今天 困难 签到 刘铸辉 (组长) 和叶姐,静姐修改页面布局和图片显示,保证界面的亲切. 和大家一起做演示PPT, ...
- 使用 Kingfisher 处理网络图片的读取与缓存
Kingfisher 是一个读取网络图片和处理本地缓存的开源库,由 onevcat 开发.提到图片缓存库,那么熟悉 Objective-C 开发的同学,可能会想起 SDWebImage. 没错,Kin ...
- caffe2--ubuntu16.04--14.04--install
Install Welcome to Caffe2! Get started with deep learning today by following the step by step guide ...
- 关于input:-webkit-autofill样式问题
最近在整理项目的时候,遇到了一个chrome浏览器自动填充的样式问题, 用户名跟密码的input都设置为透明颜色,但是会变成黄色,打开chrome调试工具,发现有个input:-webkit-auto ...
- datatable的使用
学习可参考:http://www.guoxk.com/node/jquery-datatables http://yuemeiqing2008-163-com.iteye.com/blog/20069 ...