文档章节

基于 Docker 搭建 LAMP 环境(三 compose)

whoru
 whoru
发布于 2017/05/09 14:53
字数 480
阅读 338
收藏 0

Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。

Compose 的默认管理对象是项目,通过子命令对项目中的一组容器进行便捷地生命周期管理。

Compose 项目由 Python 编写,实现上调用了 Docker 服务提供的 API 来对容器进行管理。因此,只要所操作的平台支持 Docker API,就可以在其上利用 Compose 来进行编排管理。

本示例目录结构

.
├── README.md
├── docker-compose.yml
├── mysql
│   └── Dockerfile
└── php_apache
    ├── Dockerfile
    ├── conf
    │   ├── apache
    │   │   ├── apache2.conf
    │   │   ├── sites-available
    │   │   │   ├── default-ssl.conf
    │   │   │   └── www.conf
    │   │   └── sites-enabled
    │   │       └── www.conf -> ../sites-available/www.conf
    │   └── php
    │       └── php.ini
    └── source.list

启动

$ docker-compose up

# 或使用 --build 参数,对不存在的镜像进行编译
$ docker-compose up --build

测试

浏览器访问 localhost 或 dev.www(/etc/hosts 文件追加 127.0.0.1 dev.www

# 如果服务正常,可 ctrl+c 关闭,并追加 -d 参数在后台启动运行
$ docker-compose up -d

查看启动的服务

$ docker-compose ps
      Name                     Command               State           Ports          
-----------------------------------------------------------------------------------
lamp_mysql_1        docker-entrypoint.sh mysqld      Up      0.0.0.0:3306->3306/tcp 
lamp_php_apache_1   docker-php-entrypoint apac ...   Up      0.0.0.0:80->80/tcp 

关闭、删除服务

$ docker-compose stop
$ docker-compose rm

修改配置文件

如果修改了 conf 下的配置文件,需要按照如下步骤操作,使新添加的配置生效:

# 停止服务
$ docker-compose down

# 启动服务,访问服务,查看是否配置生效
$ docker-compose up 

# 关闭并在后台启动服务
# ctrl + c
$ docker-compose down
$ docker-compose up -d

注意:关于 docker-compose.yml 的一点说明

  • build 对应包含 Dockerfile 文件的目录
  • image 对应本地镜像的名称
  1. 如果 build 和 image 同时指定,在 docker-compose up 时会首先基于 Dockerfile 编译,并指定镜像名称为 image 参数指定的。
  2. 如果只指定 build,则编译后的镜像名称为根目录+服务名,如:lamp3_mysql
  3. 如果只指定 image,启动时则直接基于对应的本地镜像。

更多内容,请访问:https://github.com/whorusq/docker-learning

© 著作权归作者所有

whoru
粉丝 19
博文 167
码字总数 79251
作品 0
济南
高级程序员
私信 提问
MacOS:Docker搭建Flink集群

前言:docker环境正常、docker-compose已安装,这里使用docker-compose安装 一、创建docker-compose.yml文件 二、在当前文件目录下执行docker-compose up -d(-d:后台运行) 三、这里flink...

WALK_MAN
07/14
88
0
容器技术|Docker三剑客之Compose

本文已获得原作者霸都民工哥授权。 三剑客简介 docker-machine docker 技术是基于 Linux 内核的 cgroup 技术实现的,那么问题来了,在非 Linux 平台上是否就不能使用 docker 技术了呢?答案是...

掘金官方
2018/07/06
0
0
Centos7.4下用Docker-Compose部署WordPress

前言 最近在学习相关知识,通过阅读后,正想着手实战用一下这个技术,但又不太敢直接在项目环境下动手。考虑足足三秒钟之后决定买个阿里云ECS搭建一个属于自己的基于的博客Daniel Fu's hut传...

无上@诀
2017/11/07
0
0
docker三剑客docker-compose、docker-machine、swarm

Docker三大编排工具: Docker Compose:是用来组装多容器应用的工具,可以在 Swarm集群中部署分布式应用。 Docker Machine:是支持多平台安装Docker的工具,使用 Docker Machine,可以很方便...

hblt-j
04/19
155
0
CentOS搭建Harbor 简单手记

Harbor 简介 Harbor是Vmware开源的企业级Docker Registry管理项目,用于存储和分发Docker镜像。Harbor除了提供docker-registry外,还提供管理UI,基于角色的访问控制,日志审核等功能。 Harb...

米阳MeYoung
2017/11/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

3_数组

3_数组

行者终成事
今天
7
0
经典系统设计面试题解析:如何设计TinyURL(二)

原文链接:https://www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR 编者注:本文以一道经典的系统设计面试题:《如何设计TinyURL》的参考答案和解析为例,帮助...

APEMESH
今天
7
0
使用logstash同步MySQL数据到ES

概述   在生成业务常有将MySQL数据同步到ES的需求,如果需要很高的定制化,往往需要开发同步程序用于处理数据。但没有特殊业务需求,官方提供的logstash就很有优势了。   在使用logstas...

zxiaofan666
今天
10
0
X-MSG-IM-分布式信令跟踪能力

经过一周多的鏖战, X-MSG-IM的分布式信令跟踪能力已基本具备, 特点是: 实时. 只有要RX/TX就会实时产生信令跟踪事件, 先入kafka, 再入influxdb待查. 同时提供实时sub/pub接口. 完备. 可以完整...

dev5
今天
7
0
OpenJDK之CyclicBarrier

OpenJDK8,本人看的是openJDK。以前就看过,只是经常忘记,所以记录下 图1 CyclicBarrier是Doug Lea在JDK1.5中引入的,作用就不详细描述了,主要有如下俩个方法使用: await()方法,如果当前线...

克虏伯
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部