上一篇利用 不同的命令来构建 nginx,mysql,php镜像 和 容器。 这样做比较麻烦,也很容易出错,当然可以写入 sh脚本来执行。但是可以通过 docker-compose 来达到效果,管理起来更加简单方便。

docker-compose安装

github地址:https://github.com/docker/compose

curl -L https://github.com/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

目录结构

lemon@lemon:~/docker$ tree
.
├── docker-compose.yml
├── mysql
│   └── dockerfile
├── nginx
│   ├── conf
│   │   ├── nginx.conf
│   │   └── vhost
│   ├── dockerfile
└── php7
├── conf
│   └── php.ini
└── dockerfile

编写yml文件

version : ''
services :
mysql :
build :
context : ~/docker/mysql
dockerfile : dockerfile
ports :
- "3306:3306"
volumes :
- ~/docker/mysql/data:/var/lib/mysql
#初始密码
environment :
- MYSQL_ROOT_PASSWORD=
container_name : mysql
restart : always
php7 :
build :
context : ~/docker/php7
dockerfile : dockerfile
ports :
- "9000:9000"
volumes :
- ~/web:/usr/local/nginx/html
- ~/docker/php7/conf/php.ini:/usr/local/php7/lib/php.ini:ro
container_name : php7
links :
- mysql
restart : always
nginx :
build :
context : ~/docker/nginx
dockerfile : dockerfile
ports :
- "80:80"
- "433:433"
volumes :
- ~/docker/nginx/logs:/usr/local/nginx/logs
- ~/web:/usr/local/nginx/html
- ~/docker/nginx/conf/nginx.conf:/usr/local/nginx/conf/nginx.conf:ro
- ~/docker/nginx/conf/vhost:/usr/local/nginx/conf/vhost:ro
container_name : nginx
links :
- php7
restart : always

运行命令自动构建容器

sudo docker-compose up -d

查看状态

lemon@lemon:~/docker$ sudo docker-compose ps
Name Command State Ports
--------------------------------------------------------------------------------------------------
mysql docker-entrypoint.sh mysqld Up 0.0.0.0:->/tcp
nginx /usr/local/nginx/sbin/ngin ... Up 0.0.0.0:->/tcp, /tcp, 0.0.0.0:->/tcp
php7 /usr/local/php7/sbin/php-f ... Up 0.0.0.0:->/tcp

具体文件查看地址:https://github.com/zhaocong222/docker-lnmp

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简介以及使用docker搭建lnmp的过程(多PHP版本)

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

  4. 使用docker搭建lnmp环境

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

  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环境(转)

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

  9. Docker搭建LNMP网站平台

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

随机推荐

  1. form表单 获取与赋值

    form表单中使用频繁的组件: 文本框.单选框.多选框.下拉框.文本域form通过getValues()获取表单中所有name的值 通过setValues({key:values})给对应的name值 ...

  2. Matlab实现单层感知机网络识别字母

    感知机网络的参数设置 % 具体用法: % net=newp(pr,T,TF,LF); % % pr: pr是一个R×2的矩阵,R为感知器中输入向量的维度(本例中使用35个字符表征一个字母,那么其维度为 ...

  3. VPS 相关

    1.一键测试 wget http://soft.laozuo.org/tools/cpu-io.shsh cpu-io.sh 2.锐速破解 wget -N --no-check-certificate ...

  4. Swift的UILabel的一些属性

    let label = UILabel(frame: CGRectMake(,,,)) label.backgroundColor = UIColor.redColor() label.text = ...

  5. C# 模拟多文件上传

    原地址:http://www.cnblogs.com/greenerycn/archive/2010/05/15/csharp_http_post.html 1.客户端代码 用winform写的 pr ...

  6. 吴裕雄 02-mysql PHP语法

    mysqli_connect($connect);mysqli_query($connect,"SQL 语句");mysqli_fetch_array()mysqli_close( ...

  7. Kubernetes+Prometheus+Grafana部署笔记

    一.基础概念 1.1 基础概念 Kubernetes(通常写成“k8s”)Kubernetes是Google开源的容器集群管理系统.其设计目标是在主机集群之间提供一个能够自动化部署.可拓展.应用容器可 ...

  8. 开始jQuery学习之旅

    jQuery写法 //实例写法$('div').css({width:200,backgroundColor:'red'}); 参数规则 // css selector$('.wrapper ul l ...

  9. css图标库 font-awesome.min.css

    下载font-awesome-4.4.0 同时引入font-awesome-4.4.0.min.css 通过<i class='fa fa-sign-out'></i>生成图片 ...

  10. vue watch,computed,metods的区别

    通俗来讲:computed是在HTML DOM加载后马上执行的,如赋值:而methods则必须要有一定的触发条件才能执行,如点击事件:watch呢?它用于观察Vue实例上的数据变动.对应一个对象,键是 ...