因为安装过程中涉及到一些修改配置文件的步骤,由于刚尝试不太会,所以这里都是通过安装好后,进入容器修改配置,最后退出重启容器。

目录结构

docker
├── mysql
│   └── dockerfile
├── nginx  
│   └── dockerfile
└── php7
└── dockerfile

分别生成3个镜像

sudo docker build -t lemon/mysql  .

sudo docker build -t lemon/php    .

sudo docker build -t lemon/nginx  .

构建三个容器

需要注意的2个关键点

1.要用到link命令来连接个个容器

2.通过数据卷 使php-fpm和nginx的工作目录指向同一目录

$HOME/web:/usr/local/nginx/html
#设置root密码123456
sudo docker run --name mysql -d -p : -v $HOME/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD= lemon/mysql

#以下关键命令 --link
#--link 连接mysql
sudo docker run --name php -d -p : -v $HOME/web:/usr/local/nginx/html --link mysql:mysql lemon/php

#--link 连接php
sudo docker run --name nginx -d -p : -v $HOME/web:/usr/local/nginx/html --link php:php lemon/nginx

进入nginx容器

sudo docker exec -it nginx bash

修改conf文件

location ~ \.php$ {
root html;
#关键 - php容器的9000端口
fastcgi_pass php:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

进入php容器

sudo docker exec -it php bash

分别修改www.conf

#监听所有9000端口
listen = 127.0.0.1
改为
listen = [::]:

修改php.ini

#增加swoole
extension = swoole.so #增加opcache配置
[Zend Opcache]
zend_extension=/usr/local/php7/lib/php/extensions/no-debug-non-zts-/opcache.so
opcache.enable=
opcache.enable_cli=
opcache.memory_consumption=
opcache.interned_strings_buffer=
opcache.max_accelerated_files=
opcache.revalidate_freq=
opcache.fast_shutdown=

退出容器,重启即可

sudo docker restart nginx
sudo docker restart php

在$HOME/web 目录下新增 php文件, 通过 127.0.0.1/inde.php 可以成功访问。

dockerfile 文件:http://files.cnblogs.com/files/loveyouyou616/docker.tar.gz

docker搭建lnmp(一)的更多相关文章

  1. Mac下docker搭建lnmp环境 + redis + elasticsearch

    之前在windows下一直使用vagrant做开发, 团队里面也是各种开发环境,几个人也没有统一环境,各种上线都是人肉,偶尔还会有因为开发.测试.生产环境由于软件版本或者配置不一致产生的问题, 今年准 ...

  2. docker搭建lnmp环境(问题,资料,命令)

    入门参考 http://www.runoob.com/docker/docker-install-nginx.html 十大常用命令玩转docker 1. #从官网拉取镜像 docker pull & ...

  3. 使用docker搭建lnmp环境

    Docker容器LNMP环境搭建 安装 制作镜像 启动并关联实例 安装 系统环境 硬件型号: ThinkPad T520 系统版本: ubuntu 14.04 CPU: i7 RAM: 8G 添加软件 ...

  4. Docker简介以及使用docker搭建lnmp的过程(多PHP版本)

    一.Docker基础 Docker安装 Docker 要求 Ubuntu 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的 Ubuntu 版本是否支持 Docker. 通过 uname ...

  5. docker搭建lnmp环境

    1.搭建lnmp网站平台 1.创建mysql数据库容器 docker run -it -d --name lnmp_mysql -p 3308:3306 -e MYSQL_ROOT_PASSWORD= ...

  6. 用Docker搭建LNMP

    程序员经常会说的一句话:在我的机器上是正常的,肯定是你的机器有问题.因此,Docker诞生了,它把应用所需要的一切东西都打包,从而可以很方便地进行部署. Docker 的主要用途,目前有三大类: 提供 ...

  7. Docker入门详解——安装docker并利用docker搭建lnmp

    首先我们需先安装docker环境,这个比较简单,以centos7为例 docker在centos7上安装需要系统内核版本3.10+,可以通过uname -r查看内核版本号,如果版本不符请自行查阅资料更 ...

  8. Docker搭建LNMP网站平台

    1.自定义网络 [root@linux-docker01 ~]# docker network create lnmp 67e7e0736b2c58f8f81eed50130803b34be0583f ...

  9. 使用Docker搭建LNMP开发环境

    1.什么是Docker Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Union FS 等技 ...

  10. 基于Docker搭建LNMP环境(转)

    关于什么是docker,建议大家先上网查查有关的用法.如果您不了解,在这篇文章中,您可以简单的理解为他是一个轻量级的虚拟机. 一.docker安装mysql 首先,我们从仓库拉取一个MySql的镜像 ...

随机推荐

  1. 树莓派安装centos7

    引用:https://blog.csdn.net/elesos/article/details/80514659 1,格式化 https://www.sdcard.org/downloads/form ...

  2. 将应用部署到Tomcat根目录下

    方法一:(最简单直接的方法) 删除原 webapps/ROOT 目录下的所有文件,将应用下的所有文件和文件夹复制到ROOT文件夹下. 方法二: 删除原webapps/ROOT 目录下的所有文件,修改文 ...

  3. data型怎么转换格式

    data型如何转换格式01-1月   -03       如何转成   YYYY-MM-DD   的格式 本来就是date了 ------解决方案--------------------to_char ...

  4. 正则表达式(Python)

    课题 使用正则表达式匹配字符串 使用正则表达式 "\d{3}-(\d{4})-\d{2}" 匹配字符串 "123-4567-89" 返回匹配结果:'" ...

  5. Rust语言学习笔记(5)

    Structs(结构体) struct User { username: String, email: String, sign_in_count: u64, active: bool, } let ...

  6. js实现ctrl+v粘贴上传图片(兼容chrome、firefox、ie11)【转载】

    我们或多或少都使用过各式各样的富文本编辑器,其中有一个很方便功能,复制一张图片然后粘贴进文本框,这张图片就被上传了,那么这个方便的功能是如何实现的呢? 原理分析 提取操作:复制=>粘贴=> ...

  7. React/anu实现弹出层2

    这次是使用了一个比较罕见的APIReactDOM.unstable_renderSubtreeIntoContainer,ReactDOM.unstable_renderSubtreeIntoCont ...

  8. Delphi实现悬浮的卡拉OK字幕

    千千静音的悬浮式卡拉OK字幕,大家一定觉得不错吧,其实用Delphi,你也可以很容易的做得到.首先我们在Delphi中新建一个700*130左右的窗体,上面放置两个Image控件,Image控件的Al ...

  9. RMI 、RPC和SOAP

  10. Java happen-before

    下面是happens-before原则规则: 程序次序规则:一个线程内,按照代码顺序,书写在前面的操作先行发生于书写在后面的操作: 锁定规则:一个unLock操作先行发生于后面对同一个锁额lock操作 ...