feat(devcontainer): 调整挂载卷命名并优化容器命令执行流程
CI/CD Pipeline / playwright (push) Successful in 3m20s
CI/CD Pipeline / build-and-deploy (push) Successful in 2m38s

This commit is contained in:
严浩 committed 2025-11-08 17:14:23 +08:00
1 parent 5a6fdc0efd
commit be9093fa77
1 file changed
+30 -16
+30 -16
View File
@@ -89,27 +89,41 @@
}, },
"remoteUser": "usr_vscode", "remoteUser": "usr_vscode",
"mounts": [ "mounts": [
"source=${localWorkspaceFolderBasename}-bashhistory,target=/commandhistory,type=volume", "source=${localWorkspaceFolderBasename}--bashhistory,target=/commandhistory,type=volume",
"source=${localWorkspaceFolderBasename}-lingma,target=/home/usr_vscode/.lingma,type=volume", "source=${localWorkspaceFolderBasename}--lingma,target=/home/usr_vscode/.lingma,type=volume",
"source=${localWorkspaceFolderBasename}-gemini,target=/home/usr_vscode/.gemini,type=volume", "source=${localWorkspaceFolderBasename}--gemini,target=/home/usr_vscode/.gemini,type=volume",
"source=${localWorkspaceFolderBasename}-claude-code-router,target=/home/usr_vscode/.claude-code-router,type=volume", "source=${localWorkspaceFolderBasename}--claude-code-router,target=/home/usr_vscode/.claude-code-router,type=volume",
"source=${localWorkspaceFolderBasename}-claude-code-config,target=/home/usr_vscode/.claude,type=volume", "source=${localWorkspaceFolderBasename}--claude-code-config,target=/home/usr_vscode/.claude,type=volume",
"source=${localWorkspaceFolderBasename}-pnpm-store,target=/home/usr_vscode/.pnpm-store,type=volume", "source=${localWorkspaceFolderBasename}--pnpm-store,target=/home/usr_vscode/.pnpm-store,type=volume",
"source=${localWorkspaceFolderBasename}-node_modules,target=${containerWorkspaceFolder}/node_modules,type=volume" "source=${localWorkspaceFolderBasename}--node_modules,target=${containerWorkspaceFolder}/node_modules,type=volume"
], ],
"postCreateCommand": {
"安装依赖": "sudo chown usr_vscode node_modules; pnpm install", /**
* 执行顺序总结
1. initializeCommand (本地主机)
2. 容器创建
3. onCreateCommand (容器内,仅首次)
4. updateContentCommand (容器内)
5. postCreateCommand (容器内)
6. 容器启动
7. postStartCommand (容器内,每次启动)
8. VS Code 附加到容器
9. postAttachCommand (容器内,每次附加)
*/
"initializeCommand": /* 本地执行(容器创建前) */ "echo '准备创建容器...'",
"onCreateCommand": /* 容器内执行(仅首次创建) */ {
"fix-claude-code-router": "sudo chown -R usr_vscode /home/usr_vscode/.claude-code-router", "fix-claude-code-router": "sudo chown -R usr_vscode /home/usr_vscode/.claude-code-router",
"fix-lingma": "sudo chown -R usr_vscode /home/usr_vscode/.lingma", "fix-lingma": "sudo chown -R usr_vscode /home/usr_vscode/.lingma",
"fix-claude": "sudo chown -R usr_vscode /home/usr_vscode/.claude", "fix-claude": "sudo chown -R usr_vscode /home/usr_vscode/.claude",
"fix-gemini": "sudo chown -R usr_vscode /home/usr_vscode/.gemini" "fix-gemini": "sudo chown -R usr_vscode /home/usr_vscode/.gemini",
}, // 容器创建后执行 https://code.visualstudio.com/remote/advancedcontainers/improve-performance "fix-node_modules": "sudo chown usr_vscode node_modules;"
"postStartCommand": { },
"node version": "node -v" "updateContentCommand": /* 容器内执行(创建后或内容更新) */ "echo '更新内容...'",
}, // 每次容器启动时执行 "postCreateCommand": /* 容器内执行(创建完成后) */ "pnpm install",
"postAttachCommand": "echo 容器已连接: ${containerWorkspaceFolder}", // 连接到容器后执行 "postStartCommand": /* 容器内执行(每次启动) */ "echo '容器已启动!'",
"postAttachCommand": /* 容器内执行(每次附加) */ "echo '开发环境已就绪!${containerWorkspaceFolder}'",
// "updateRemoteUserUID": true, // "updateRemoteUserUID": true,
"waitFor": "postStartCommand", "waitFor": "updateContentCommand",
"workspaceMount": "source=${localWorkspaceFolder},target=/wrkspc,type=bind,consistency=delegated", "workspaceMount": "source=${localWorkspaceFolder},target=/wrkspc,type=bind,consistency=delegated",
"workspaceFolder": "/wrkspc" "workspaceFolder": "/wrkspc"
} }