把老项目迁移到docker

有个老项目是php 5.2.17,以前用的是vagrrant, 现在想本地开发环境迁移到docker.

寻找合适的image

第一步寻找合适的镜像, pull 下来

我在这里找到一个5.2.17镜像, 先用docker pull命令拉到本地.

然后用docker images 查看,看到一个名叫

deminy/php-5.2

的镜像.

docker run 镜像名 

然后运行该镜像,可以启动一个名为”admiring_dbinsky”.的容器.

运行docker exec -it 容器名或id bash 来进入容器的shell查看.满足要求.

下一步如何基于这个镜像打造一个自己的项目镜像呢?那就需要编写dockefile了

编写dockerfile

FROM deminy/php-5.2

MAINTAINER hongyi.chen

WORKDIR /tmp

EXPOSE 80

编写完毕后, 用build命令构造一个自己的镜像 

docker build -t 项目名称_web .

完成后,就可以看到一个自己的镜像了.如果有错,就返回修改dockerfile,然后重新构建build.

发现个问题,就是每次启动这个镜像,名字都会不同.估计是默认随机名字.不过可以通过docker compose解决

编写docker-compose

为了继续偷懒,我们用docker-compose来编写.

编写完毕后,第一次运行要

docker-compose up –build

这个build参数似乎就是docker的build 命令的

启动后,就可以看到自己名字的的容器了.然后配合一个mysql的容器,这个php5.2的老项目就在本地跑起来了.

把自建的VPN集成到HA里

有时候在面需要访问家里的内网。以前专门搞了二手的树莓派pi 一代来做VPN服务器。选用的是WireGuard作为服务器.

昨天发现HA系统(homeassistant)支持WireGuard插件。因为HA运行在一台独立的树莓派Pi 4, 所以就没必要在保留pi 1了。所以果断安装此插件,把生成的二维码图片交给手机的客户端。然后在路由器上设置端口转发就好了。

旧的 Pi就放到ebay上买掉了。

通过补丁(patch)升级到cataline

通过github上的dosdude1的项目(http://dosdude1.com/catalina/) 成功把macpro 3.1升级到了catalina.

升级完毕后,发现几个问题

  1. 显卡只能输出一个显示器。我拆先原装的A卡,换上N卡问题照旧。
  2. 声卡驱动未包含,所以没有声音。
  3. 网页浏览图片时候会有马赛克花屏现象。
  4. 有一些奇怪的进程无响应象。

如果这些问题解决不了,我还是继续留在El Captian吧。

ng-content内容投影

在review同事的修改的时候,发现了他使用ng-content来替换本来的一堆东西。那么这个ng-content 的内容是如何决定的呢? 通过2篇文章大概知道了这个东西的作用。

文章1 https://medium.com/@joshblf/wtf-is-ng-content-8382b2a664e1

文章2 https://segmentfault.com/a/1190000010730597

今天学习到的新概念就是: 内容投影 (content projection). 看来组件复用在angular里实现的真的比较彻底。

把synegy替换为barier

synergy是一款在多台主机之间共享鼠标和键盘的共享软件,开源跨多平台。但是现在已经商业化,而且最近发现有个bug,即当服务器端某些情况下会失去相应。

所以开始寻在替代品,找到了这个Barier (URL: https://github.com/debauchee/barrier )

作为synergy的继承者基本相同。但是我的一台客户机是mac os 10.11 El Captian,它只能使用 Baiere v2.1 。 服务器端我是使用ubuntu, 本地编译即可。

来源: https://github.com/debauchee/barrier/issues/544