Docker 部署一个haxibiao.com的内测环境KT

今天中午很高兴,小曾主动来请求关于我们要容器化的战略的KT,简单来说:容器化是我们的后端方向了,我们统一了packages developement, 下一步就是统一ops和容器的规范和复用了,这个文档我还在进行中,重点我基本列出来了, laravel/sail 和 自己定制 docker的2个选项我都pass了,一个很简单,但是不能上prod, 一个太需要docker + bash + linux经验,最好的选择是我们在 laradock的基础上做,在我们的新的微服务上做,在答赚之外的访问量不高的项目上实践,第一部都先在 hk jp 的机房里时间(避免科学沙上网问题,大家得出错误的结论)
  1. KT1:我们还是在原来的项目,原来的环境基础上做容器化,不是推倒...
  2. KT2:目前不建议用windows/mac 或者本地开发环境上用docker, sail, 请用 hk的服务器,选laradock

1. docker有很好的web UI工具,所以远程服务器也能很好的UI管理, 比如安装一个Portainer

2. 我安装过的一个演示: http://hk019.haxibiao.com:9000/

3. 默认管理 admin 的密码 ask [email protected]

  1. 开始实践,给原来的项目安装 laradock

git submodule add https://code.haxibiao.cn/ops/laradock.git

# 这里我们根据哈希表团队做了一些简单配置优化,暂时不改动里面的脚本,dockerfile

  1. 开始找一个服务器来部署,这里选一个hk019, 不要用本地,或者 gz 机房先,太难了
  2. 登陆hk服务器

ssh [email protected]

  1. 和原来一样拉取代码

cd /data/www

gcl https://code.haxibiao.cn/web/haxibiao.com

  1. 安装docker-engine & docker-compose

cd /data/ops/env

bash bash/install/docker.sh

#安装完成的检查

docker --version

docker-compose --version

  1. 用docker来启动 nginx + php-fpm

cd /data/www/haxibiao.com

cd ./laradock

nano .env

#手动修改 NGINX_HOST_HTTP_PORT=80 DB_HOST=gz014

docker-compose run -d nginx php-fpm

# 先不用docker 的mysql 第一步,先把无状态的服务装入容器,逐步容器化我们的后端架构

  1. 可以访问这个容器化的环境了
    1. http://hk019.haxibiao.com/
  2. 问题列表
    1. Nginx push的 配置和域名怎么用?
      1. .env NGINX_SITES_PATH=/data/ops/env/vhost/gz019
      2. 还需要配置一个新的 enable-docker-php.conf (参考laradock下的nginx目录下的example)
    2. 用本地容器的Mysql 还是 我们目前的Mysql 服务器?
      1. 按@肖新明 的建议,先装入无状态的服务,但新项目会自己定期mysqldump的,也可以玩玩
    3. 如果我需要容器化 meilisearch来给我的项目提供 搜索XX的微服务?
      1. 直接 docker-compose run -d meilisearch
    4. 还有问题? 看https://laradock.io/documentation 感觉我KT最关键的信息在KT1,KT2,最后一个建议 ,文档中搜索 “Use Varnish”, 然后有兴趣看完 https://www.linode.com/docs/guides/use-varnish-and-nginx-to-serve-wordpress-over-ssl-and-http-on-debian-8/ ,我们经常苦闷的
      1. SSL 问题
      2. Nginx 代理缓存加速页面问题...

breeze 文档

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

赞赏支持
被以下专题收入,发现更多相似内容