Docker 容器 实战篇 --docker - compose
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
- 这也是国内最多的开发者群体了,windows系统影响了不止一两代人,也不仅仅是开发者,还有很多用户;如果您是在windows里面的开发者,那么要么使用它的win10包(但是身边的朋友发现win10目前兼容性并不好,各种奇葩问题),所以丢丢哥在这里推荐你们用
linux
虚拟机,也就是容器运行在虚拟机中。推荐Vagrant
...而官方也是推荐docker
在虚拟机中运行的
二、使用Docker-compose 容器集群管理项目
这里地址有两个工具下载地址
国外源
这个源想真正从头执行完成一个集群docker的架设,需要FQ,因为资源都在国外,成功的几率得看自己的运气(我是失败2次才成功,而且慢如狗)
国内源
速度快,但是有坑。。。laradock目录下的workspace下缺失一个文件auth.json
,所以一直会安装失败 ,把auth.json.example
更名为auth.json并配置里面的
{
"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.conf
;sites
做域名配置
MySQL
MySQL
,在laradock/mysql/Dockerfile
里做配置,修改这几行即可,其余的就是在.env
里了,如果是远程数据库那就直接配项目里的.env
了
其他的都差不多了...
作者也是在边学习边整理笔记中,年纪大了忘性也大,一是方便自己查阅,二是方便大家能快速的搭建..
希望我的博客对你们有所帮助,你的认可就是我最大的动力。。
本文为作者原创,允许转载,转载后请以链接形式说明文章出处. 如转载但不标明来源,后果自负。