因为 docker-compose.yml 的格式版本与 Docker 版本息息相关,若你要使用新版的 Docker 所提供的功能,在 docker-compose.yml 的版本就必须下的更细,如 3.3,在此只使用了 docker-compose.yml 基本功能而已,使用 3 即可。

以本文为例,我们希望 netcore 与 postgres 两个 container 都跑在相同的网络下,彼此都能看到对方,因此特别宣告了 netcore-dev 网络,将来两个 container 都将共用此网络。

由于每个人 Host OS 要分享的目录都不一样,因此设定成 NETCORE_HOST_DIR 变数,稍后自行在 .env 设定。

Docker 为了节省硬件资源,app 执行完就会释放 container,但处于开发阶段,我们需要的是类似 service 跑在背景,随时可以进入 container 测试 Linux app。

由于这 3 个变数每个人的需求不同,因此统一使用变数在 .env 设定。