Docker - 挂载目录(bind mounts)和Volume是不同的

一直一来,对于多个容器需要共享访问同一数据目录,或者需要持久化容器内数据(如数据库)时,我们都是采用挂载目录形式(bind mounts),将宿主机的某一目录挂载到容器内的指定目录,这种方式能解决问题,但这种方式也一直有一些缺点:

容器在不同的服务器部署需要根据实际磁盘挂载目录修改路径

不同操作系统的文件和目录权限会搞得你昏头转向,火冒三丈

Read More

Docker建立Laravel用的LNMP环境

雖然標題上是寫 Laravel 用的環境,不過這套環境也適用於 WordPress。

LNMP 是一般對 Linux + Nginx + MySQL(MariaDB)+ PHP 的簡稱,不過用 Docker 來做的話應該要稱做 NMP才對。本次的範例在任何的 Linux Distro 底下應該都會有一樣的效果,理論上在 MacOS 也差不多,不過 Mac 也許還是會有此許的不同,這點我就沒有再多做測試。

Read More

Gorm中references的含义

Gorm文档中,“关联”的章节下,有“重写引用”的介绍。但是什么是references,要怎么使用,一直没有搞明白,所以在此专门记录一下。

“重写外键”很好理解,比如类别表category有一个主键id,文章表有一个category_id的外键对应类别表的id字段,这个时候是不需要重写外键的。但是如果文章表的外键不是category_id,而是cid的话,就要使用gorm:"foreignKey:Cid"的方式重写外键,才能把文章表和类别表进行关联。不管是category_id还是cid,文章表默认关联的是类别表的id字段,也就是默认关联主键。

Read More

异常处理

1.介绍

错误是指程序中出现不正常的情况,从而导致程序无法正常运行。Go语言中没有try...catch来捕获错误,而是通过defer+recover+panic模式来实现捕捉错误信息。

Read More