使用 docker 组合卷保留 %USERPROFILE% 文件夹
persist %USERPROFILE% folder using docker compose volume
我正在搜索如何在卷安装中保留用户配置文件文件夹
我有文件夹 C:\Users\ABEL\source\repos,需要为 windows 容器保留该文件夹。用户名应该来自主机。未知。
下面是我的 docker-compose 文件,卷部分不正确。
任何评论都会有所帮助。提前致谢
version: '3.4'
services:
directoryservice:
image: abc-directoryservice:latest
build: .
ports:
- "44309:44309"
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=https://+:44309;
- ASPNETCORE_Kestrel__Certificates__Default__Password=welcome123#
- ASPNETCORE_Kestrel__Certificates__Default__Path=/https/aspnetapp.pfx
volumes:
- ./devops/https/abccert.pfx:/https/aspnetapp.pfx:ro
# - "$env:USERPROFILE/source:$env:USERPROFILE/source"
- ${Env:USERPROFILE}\source:${Env:USERPROFILE}\source
我遇到以下错误
invalid interpolation format for services.directoryservice.volumes.[]: "${Env:USERPROFILE}\source:${Env:USERPROFILE}\source". You may need to escape any $ with another $.
$env:USERPROFILE
/${env:USERPROFILE}
语法 特定于 PowerShell。
根据 the docs 判断,docker-compose
使用自己的语法:$USERPRPOFILE
/ ${USERPROFILE}
您报告 follow-up 问题,即 Windows-style 路径存储在 $USERPROFILE
(%USERPROFILE%
) 中(例如C:\Users\jdoe\source
) 未转换为 Unix-style 路径(例如 c/Users/jdoe/source
)
建议你必须设置环境变量COMPOSE_CONVERT_WINDOWS_PATHS
为1
,before 运行你的docker-compose
命令。
例如,在 PowerShell 会话中:
$env:COMPOSE_CONVERT_WINDOWS_PATHS=1
考虑将此语句添加到您的 $PROFILE
file 中,以便它在以后的 PowerShell 会话中也能生效。
我正在搜索如何在卷安装中保留用户配置文件文件夹
我有文件夹 C:\Users\ABEL\source\repos,需要为 windows 容器保留该文件夹。用户名应该来自主机。未知。
下面是我的 docker-compose 文件,卷部分不正确。 任何评论都会有所帮助。提前致谢
version: '3.4'
services:
directoryservice:
image: abc-directoryservice:latest
build: .
ports:
- "44309:44309"
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=https://+:44309;
- ASPNETCORE_Kestrel__Certificates__Default__Password=welcome123#
- ASPNETCORE_Kestrel__Certificates__Default__Path=/https/aspnetapp.pfx
volumes:
- ./devops/https/abccert.pfx:/https/aspnetapp.pfx:ro
# - "$env:USERPROFILE/source:$env:USERPROFILE/source"
- ${Env:USERPROFILE}\source:${Env:USERPROFILE}\source
我遇到以下错误
invalid interpolation format for services.directoryservice.volumes.[]: "${Env:USERPROFILE}\source:${Env:USERPROFILE}\source". You may need to escape any $ with another $.
$env:USERPROFILE
/${env:USERPROFILE}
语法 特定于 PowerShell。
根据 the docs 判断,docker-compose
使用自己的语法:$USERPRPOFILE
/ ${USERPROFILE}
您报告 follow-up 问题,即 Windows-style 路径存储在 $USERPROFILE
(%USERPROFILE%
) 中(例如C:\Users\jdoe\source
) 未转换为 Unix-style 路径(例如 c/Users/jdoe/source
)
COMPOSE_CONVERT_WINDOWS_PATHS
为1
,before 运行你的docker-compose
命令。
例如,在 PowerShell 会话中:
$env:COMPOSE_CONVERT_WINDOWS_PATHS=1
考虑将此语句添加到您的 $PROFILE
file 中,以便它在以后的 PowerShell 会话中也能生效。