在使用vscode insiders做remote development的时候,默认是使用folder name作为docker compose的project name,虽然docker compose支持使用--project-name或者通过在.env里设置COMPOSE_PROJECT_NAME来自定义project name, 但是vscode insiders目前是忽略这些设置的。
想了个变通的方式来实现自定义project name,在不变更原来项目目录名的前提下,利用docker compose支持多个compose file的特性, 在项目目录外套一层想要的project folder name,外加一个空的compose file, 目录结构如下:
expected_folder_name #外套一个想要的project name
\_projectA #实际项目名
..\_.devcontainer
....\_devcontainer.json
..\_docker-compose.yml
\_docker-compose-init.yml
在devcontainer.json里设置context为上一级目录,并将上一级目录中的docker-compose-init.yml设置为第一个compose file:
{
"context": "..",
"dockerComposeFile": [
"../../docker-compose-init.yml",
"../docker-compose.yml"
]
}
在vscode insiders里打开项目时, 选择projectA目录,expected_folder_name会作为docker compose的project name。