苍穹煮雨

名字待定


  • 首页
  • 归档
  • 分类
  • 标签
  • 关于我
  • 读书
  • 游戏
  • 我的二零二零
  • 电影
  •     

© 2021 Calvino Shaw

Theme Typography by Makito

Proudly published with Hexo

用 docker 部署一个产品

发布于 2019-04-06 评论 代码如诗  docker 

背景

近一年来,做人工智能行业,把自己的产品逐步推向标准化和常规迭代的路子上,虽然职能上做的是产品,不需要管部署的事情,那些事情让实施/运维/研发/测试来做就可以了,但自己没有摸透,甚至不知道有问题的话问题在哪里,总是觉得不安。所以趁着一个清明小假期,尝试做了下部署,也发现了一些问题,以此记录。一些敏感信息,用其他的名字代替掉,只是记录一个过程。

准备工作

  • 先检查安装包是否损坏
    • bash product_xxx.sh3 verify
    • 这一段有不知所谓的报错,command not found,推测是文件本身有问题,跳过无妨
  • 安装docker
    • bash product_xxx.sh3 install-docker
    • docker 原先已经安装了,这一步没有遇到什么问题
  • 加载系统镜像
    • bash product_xxx.sh3 load-images
    • 系统镜像可以正常 load 进来
  • 生成映射目录和同步数据
    • bash product_xxx.sh3 init-docker-volumes
    • bash product_xxx.sh3 sync-docker-volumes
    • 目录映射生成失败了,有报错,报 No such file or directory 以及 Permission denied,推测也是权限问题,

系统部署

  • 部署某后台服务
    • 进入 calculation 目录,docker-compose up -d --build
    • 进入 product_server 目录,docker-compose up -d --build
  • 部署某数据服务
    • 进入 data 目录,修改 data.env,docker-compose up -d --build
  • 部署某 SaaS 登录服务
    • 进入 saas 目录,修改 saas.env.conf,docker-compose up -d --build
  • 部署某产品系统
    • 进入 product_web 目录,修改 docker.env,docker-compose up -d --build
  • 部署某配置模块
    • 进入 configuration 目录,docker-compose up -d --build
    • 进入 configuration_web 目录,修改 docker-compose.yml,docker-compose up -d --build

小结

  • 可以看到,基本上都是进入相应目录,改配置,然后起 docker,流程上没有什么问题
  • 一共改了四个位置的配置
  • 产品需不需要懂技术的问题,通常 “了解技术边界” 已经是一个标准答案了。但是这个边界怎么去定义,又是一个模糊的地方。产品经理,应该懂得如何部署自己的产品吗?

一些问题

  • 部署过程中,由于是用 mac 部署,遇到类似这样的问题
    • ERROR: for mysql Cannot start service mysql: b'Mounts denied,网上找了一会儿,大概知道原因,是 mac 的 docker 文件共享路径要添加报错中提到的路径,但这个路径又没法找到,未在当前文件夹下,不知道该如何解决
    • 另外一个问题,是每次装一个镜像,系统内存就被吃掉得非常严重,一下子将近 20G 就没有了,找了几个方法,用这条命令可以处理。docker system prune -a

分享到 

 上一篇: 捷运的风把她的裙子吹胖 下一篇: 翻电札记其一 

© 2021 Calvino Shaw

Theme Typography by Makito

Proudly published with Hexo