Docker 容器 实战篇 --docker - compose

基础篇丢丢哥已经介绍了如何配置Docker容器的加速器,也介绍了如何拉取一个自己想要的镜像包(Images),也介绍了如何搭建、进入、删除、开启、停止容器(container)...

但是真正的实战应用里 是不可能一个容器跑所有服务的 —— 比如Nginx、PHP、Mysql、Redis、Node、Npm在一个容器里的,官网推荐也是一个服务跑一个容器...

一、那么常见的开发模式中 有哪些呢?

1. Docker for Mac

  • Mac中开发无疑是最轻松的,内置unix系统,可以直接官方下载docker for mac 版本,配置国内加速器后就可以直接执行docker命令了

2. Docker for Linux

  • 因为Docker依赖于linux,所以如果你是ubuntu环境,也可以直接安装docker运行docker命令进行操作,只不过国内中大多数Ubuntu作为电脑系统的开发者发现直接用ubuntu在很多软件支持上并不太好,也不多。。

3. Docker for Windows

如何安装Vagrant虚拟机看这里

  • 这也是国内最多的开发者群体了,windows系统影响了不止一两代人,也不仅仅是开发者,还有很多用户;如果您是在windows里面的开发者,那么要么使用它的win10包(但是身边的朋友发现win10目前兼容性并不好,各种奇葩问题),所以丢丢哥在这里推荐你们用 linux 虚拟机,也就是容器运行在虚拟机中。推荐Vagrant...而官方也是推荐docker在虚拟机中运行的

官网 官网

二、使用Docker-compose 容器集群管理项目

这里地址有两个工具下载地址

国外源

这个源想真正从头执行完成一个集群docker的架设,需要翻墙,因为资源都在国外,成功的几率得看自己的运气(我是失败2次才成功,而且慢如狗)

地址:国外源:Laradock地址

国内源

速度快,但是有坑。。。laradock目录下的workspace下缺失一个文件auth.json,所以一直会安装失败 ,把auth.json.example更名为auth.json并配置里面的

地址:国内源:Laradock地址

{
    "bitbucket-oauth": {},
    "github-oauth": {
        "github.com": "****************这里写oauth的32位字符串************"
    },
    "gitlab-oauth": {},
    "http-basic": {}
}

又几个资源会下载比较慢 有时也会出错,好像是那个叫NVM的。。多下几次就好了

如果下载完后基本就几条命令能搞定所有环境了

选择一 使用build构建镜像

docker-compose build nginx mysql redis  

然后启动镜像

docker-compose up -d nginx mysql redis  

最后就是连接workspace容器了(开发目录的容器 默认路径是/var/www),项目基本是就都是放在那里的.

github作者的Readme里面推荐的是将laradock放在laravel项目内,这样其实对新手来理解很容易,在配置上也不需要改什么,基本是如果是本机环境localhost就启动了,如果是vagrant就是192.168.33.10(当然以你自己的ip为基准)

那么如果我是多个laravel项目在里面管理 就不能 放在某一个laravel里面而是和各个laravel项目同一目录下 ,如图: 项目目录

然后再就是几个地方的文件配置了

Nginx

nginx,在laradock/nginx里面的nginx.confsites做域名配置

MySQL

MySQL,在laradock/mysql/Dockerfile里做配置,修改这几行即可,其余的就是在.env里了,如果是远程数据库那就直接配项目里的.env

其他的都差不多了...

作者也是在边学习边整理笔记中,年纪大了忘性也大,一是方便自己查阅,二是方便大家能快速的搭建..

希望我的博客对你们有所帮助,你的认可就是我最大的动力。。

本文为作者原创,允许转载,转载后请以链接形式说明文章出处. 如转载但不标明来源,后果自负。

您的支持是对我最大的鼓励!