laradock目录说明-服务说明

在坚持Docker推动的关注分离原则时,Laradock在自己的Container上运行每个软件。您可以像任何容器一样打开/关闭任意数量的实例,而不必担心配置,一切都像魅力一样。

数据库引擎: MySQL – MariaDB – Percona – MongoDB – Neo4j – RethinkDB – MSSQL – PostgreSQL – Postgres-PostGIS。
数据库管理: PhpMyAdmin – Adminer – PgAdmin
缓存引擎: Redis – Memcached – Aerospike
PHP服务器: NGINX – Apache2 – Caddy
PHP编译器: PHP FPM – HHVM
消息队列: Beanstalkd – RabbitMQ – PHP工作者
排队管理: Beanstalkd控制台 – RabbitMQ控制台
随机工具: Mailu – HAProxy – Certbot – Blackfire – Selenium – Jenkins – ElasticSearch – Kibana – Grafana – Gitlab – Mailhog – MailDev – Minio – Varnish – Swoole – NetData – Portainer – Laravel Echo – Phalcon

Laradock将Workspace Image作为开发环境引入。它包含一组丰富的有用工具,所有这些工具都经过预先配置,可以与您选择的几乎任何容器和工具组合工作和集成.

工作区图像工具 PHP CLI – Composer – Git – Linuxbrew – Node – V8JS – Gulp – SQLite – xDebug – Envoy – Deployer – Vim – Yarn – SOAP – Drush

提高MacOS的速度

Tip: 更多见官网文档

在撰写本文时,Mac上的Docker 很慢。特别是对于大型项目,这可能是一个问题。问题是比2016年3月更早 – 因为这是一个长期存在的问题,我们将其包含在此处的文档中。

因此,与Linux相比,使用osxfs将代码共享到Docker容器中的性能非常差。可能有一些解决方法:

解决方法A:使用小艇
Dinghy使用docker-machine创建自己的VM,它不会修改现有的docker-machine VM。

快速设置giude,(我们建议您查看他们的文档)

1) brew tap codekitchen/dinghy

2) brew install dinghy

3)dinghy create –provider virtualbox(必须安装虚拟机,但如果您愿意,它们支持其他提供商)

4)完成上述命令后,它将显示一些env变量,将它们复制到bash配置文件或zsh或..(这将指示docker使用在VM内运行的服务器)

5) docker-compose up …

你可以在具有相同的使用任何时间有或无搬运工同步运行laradock .env和docker-compose.yml,因为当使用搬运工同步的配置被自动忽略。
您可以检查sync.sh脚本以了解每个命令,甚至添加自定义命令。
如果容器无法访问docker-sync上的文件,则可能需要在该容器的Dockerfile上设置id为1000的用户(这是nginx和php-fpm在laradock上配置的UID)。或者,您可以将权限更改为777,但不建议这样做 更多-docker-sync文档

Laradock有两个基本图像(Workspace和php-fpm,主要由以加快您的计算机上生成时间。

目录抓取时间: 2018年11月16日16:50:06

├── LICENSE
├── adminer Adminer替换phpMyAdmin
├── aerospike Aerospike(以下简称AS)是一个以分布式为核心基础,可基于行随机存取内存中索引、数据或SSD存储中数据的数据库
├── apache2
├── aws 亚马逊
├── beanstalkd Beanstalkd,一个高性能、轻量级的分布式内存队列系统
├── beanstalkd-console
├── caddy caddy是一个用go语言开发的服务器,可用作web端
├── certbot Certbot是EFF加密整个互联网的一部分。通过Web进行安全通信依赖于HTTPS,这需要使用数字证书,让浏览器验证Web服务器的身份
├── docker-compose.sync.yml
├── docker-compose.yml
├── docker-registry
├── docker-sync.yml
├── docker-web-ui
├── elasticsearch ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口
├── env-example
├── gitlab
├── grafana 自动创建监控图
├── haproxy haproxy是一款非常的专业的全7层的反向代理负载均衡器
├── hhvm HHVM (HipHop Virtual Machine)会将PHP代码转换成高级别的字节码(通常称为中间语言)。然后在运行时通过即时(JIT)编译器将这些字节码转换为x64的机器码。在这些方面,HHVM十分类似于C#的CLR和Java的JVM
├── ide-codiad Codiad是一个基于Web的IDE框架,占用空间小,需求量小。
├── ide-icecoder
├── ide-theia
├── ide-webide
├── ipython
├── jenkins
├── jupyterhub
├── kibana
├── laravel-echo-server
├── logs
├── maildev
├── mailhog
├── mariadb
├── memcached
├── minio
├── mongo
├── mongo-webui
├── mssql
├── mysql
├── neo4j
├── nginx
├── percona
├── pgadmin
├── php-fpm
├── php-worker
├── phpmyadmin
├── portainer
├── postgres
├── postgres-postgis
├── rabbitmq
├── redis
├── rethinkdb
├── selenium
├── solr
├── sync.sh
├── thumbor
├── travis-build.sh
├── varnish
└── workspace

相关资料

aerospike-官网
Certbot-官网
grafana-官网
codiad-官网

Aerospike使用介绍
PHP 使用 ElasticSearch 做搜索

centos安装docker及docker-compose

在vbox中建立系统与项目线上相同的环境

参照官网文档(资料1)安装步骤, step2不一样.

step1

sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

step2

tip: 官方的yum源地址安装下载时非常慢

sudo yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

step3

sudo yum-config-manager --enable docker-ce-edge

step4

sudo yum install docker-ce

step5

yum list docker-ce --showduplicates | sort -r
sudo yum install docker-ce-<VERSION STRING>
sudo systemctl start docker
sudo docker run hello-world

docker-compose

Tip: 加速版安装参考[资料3], 官方版参考[资料4]

curl -L https://get.daocloud.io/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

相关资料

资料1-Get Docker CE for CentOS
资料2-CentOS 安装 Docker CE
资料3-安装 Docker Compose
资料4-Install Compose

docker使用一段时间后磁盘(硬盘)资源消耗问题

线上使用docker部署服务已经有一段时间了, 目前看来还很稳定正常. 但是磁盘被docker占去了很大的资源, 全部docker镜像加起来也不过几个G而已 但是通过df查看到系统的磁盘已被docker占用28G了.

需要解决的问题

  1. 如何释放空间? 为什么docker使用会不断的占用硬盘空间?
  2. 在清理释放docker文件时候是否会影响当前运行的服务?

通过下面排查-结论

目前上面两个问题暂时不需要处理, 消耗磁盘空间和docker没有关系[资料2]也是和docker没太大关系.

继续阅读

gitlab-docker

EnvVer(环境服务版本)

  • Mac 10.13.1
  • Docker 18.06.0-ce, build 0ffa825
  • Docker-compose 1.22.0, build f46880f

界面截图

登录页
管理界面

安装部署

step1: iTerm2-窗口下执行下面命令.

sudo docker run --detach \
    --hostname gitlab.test \
    --publish 44301:443 --publish 8001:80 --publish 2201:22 \
    --name gitlab \
    --restart always \
    --volume ~/gitlab/config:/etc/gitlab \
    --volume ~/gitlab/logs:/var/log/gitlab \
    --volume ~/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce:latest

step2: 通过docker ps看到状态为(healthy), 时候浏览器访问地址 http://127.0.0.1:8001 这个时候需要设置gitlab-root密码. (chrome密码管理自动生成)

使用体验

启动比较慢, 本地打开管理平台的时候感觉有需要2~3速度上也慢, 不知道在线上跑起来怎么样.

如果项目为私有, 用户属于这个项目权限为Guest无法clone.

hostname 不能为IP. 如何使用IP就会报 ERR_EMPTY_RESPONSE. IP应该也是可以, hostname应该是不能加端口号 eg: –hostname 127.0.0.1:8001

刚创建好的创库没有branche, 需要有权限的用户才可以创建.

相关资料

docker-gitlab方式部署