了解VS2017 webform应用程序的docker-compose
我正在创build一个WebForm应用程序,我尝试进行容器化。 我使用VS2017,创build默认的WebForm应用程序,并添加docker支持。
如果我F5的应用程序,它的工作(希望)
“添加docker支持”添加了许多文件:
1)一个Dockerfile,用
FROM microsoft/aspnet:4.6.2 ARG source WORKDIR /inetpub/wwwroot COPY ${source:-obj/Docker/publish} .
我知道它是基于aspnet:4.6.2的图像,并将它从obj / docker / publish复制到容器中的文件。
我的问题是,我没有发布在这个目录上的文件。 当然,如果我dockerbuild设,我有一个错误(它不能findobj /docker/发布文件)。 请记住,使用F5它正在工作。
但是还有其他的文件。
2)Docker-compose.yml:
version: '3' services: legacywebapp: image: legacywebapp build: context: .\LegacyWebApp dockerfile: Dockerfile
如果我理解的很好,它会创build一个基于dockerfile的legacywebapp服务。 那个不工作的,仍然没有“obj / docker / publish”
3)docker-compose.override.yml与:
version: '3' services: legacywebapp: ports: - "80" networks: default: external: name: nat
好吧,我认为它公开了端口80(为什么不在第一个文件?但无论如何,对于模块化,我想最好)。
如果我尝试
docker-compose -f .\docker-compose.yml -f .\docker-compose.override.yml build
当然我有一个错误:
Step 4/4 : COPY ${source:-obj/Docker/publish} . ERROR: Service 'legacywebapp' failed to build: COPY failed: GetFileAttributesEx \\?\C:\windows\TEMP\docker-builder798755009\obj\Docker\publish: The system cannot find the file specified.
为什么当我在F5的视觉工作室工作? 让我们来看看VS的构build输出,我可以看到命令行:
docker-compose -f "C:\Users\...\docker-compose.yml" -f "C:\Users\...\docker-compose.override.yml" -f "C:\Users\...\obj\Docker\docker-compose.vs.debug.g.yml" -p dockercompose15539612722162891187 up -d --build
所以,还有另一个文件,我想debugging:
4)docker-compose.vs.debug.g.yml
version: '3' services: legacywebapp: image: legacywebapp:dev build: args: source: obj/Docker/empty/ volumes: - C:\Users\...\LegacyWebApp:C:\inetpub\wwwroot - C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Remote Debugger:C:\remote_debugger:ro labels: com.microsoft.visualstudio.debuggee.program: "C:\\app\\bin/LegacyWebApp.dll" com.microsoft.visualstudio.debuggee.workingdirectory: "C:\\app"
再次,没有obj / docker /发布。 什么是obj / Docker / empty /?
我如何正确构build图像? 例如,如果我想发布它在私人存储库…
- Terraform可以从remote_exec命令设置variables吗?
- Docker-compose:在SIGTERM之后closures端口
- 如何将种子数据放入SQL Server泊坞窗图像?
- 从本地连接到Docker MySQL容器?
- Docker Containers无法停止或删除 – 权限被拒绝错误
- Ping工作,但Java代码失败,主机在Docker中无法访问
- Docker mySql:5.7没有运行
- Dockered Django + Celery(`celeryd`和`celerybeat`),任务被执行,但数据库(SQLite)不被修改。 哪里不对?
- Docker撰写 – 安装带有MySQLi,MySQLnd和PDO扩展的php-fpm