我有一个.NET Core项目(使用visual studio并通过Visual Studio Tools for Docker添加docker文件).
我DockerFile
看起来像这样:
FROM microsoft/dotnet:1.0.1-core
ARG source=.
WORKDIR /app
COPY $source .
ENTRYPOINT ["dotnet", "MyApp.dll"]
CMD ["arg1", "arg2"]
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何将参数传递给项目?
public static void Main(string[] args)
{
// how does `args` get populated?
}
Run Code Online (Sandbox Code Playgroud)
我已经为 Windows 安装了 Docker 桌面(Windows 10 上的 docker 19.0.3)。当我去设置它挂起状态更新并且永远不会回来。
我试过卸载和安装,但没有帮助。Hyper-V 和容器功能在 Windows 10 中打开。请帮助我知道这到底可能有什么问题?
我收到以下错误:
无法导出图像:无法创建图像:无法获取图层 sha256:xxxxxxxxxxxxx:图层不存在
Dockerfile:
FROM openjdk:8
COPY ./lib/ /usr/src/app/BOOT-INF/lib/
COPY ./lib/entities-1.0-SNAPSHOT.jar /usr/src/app/BOOT-INF/lib/entities-1.0-SNAPSHOT.jar
COPY ./app/ /usr/src/app/
WORKDIR /usr/src
CMD ["java", "-cp", "app/", "org.springframework.boot.loader.JarLauncher"]
Run Code Online (Sandbox Code Playgroud)
输出:
Step 3/6 : COPY ./lib/entities-1.0-SNAPSHOT.jar /usr/src/entities-1.0-SNAPSHOT.jar
---> 3acb1f6c911a
Step 4/6 : COPY ./app.jar /usr/src/app.jar
failed to export image: failed to create image: failed to get layer sha256:33a94c44f7804ae3f57b9e72f94323c15cef7267be7eb95d90d2a1673c4b33b9: layer does not exist
Run Code Online (Sandbox Code Playgroud)
第二次运行总是有帮助 - 错误消失。我正在构建多个不同的图像(不同的 jar),在不同的目录中使用不同的 Dockerfile。但是 Dockerfiles 的内容是一样的。
我认为添加后出现此错误:
COPY ./lib/entities-1.0-SNAPSHOT.jar /usr/src/app/BOOT-INF/lib/entities-1.0-SNAPSHOT.jar
Run Code Online (Sandbox Code Playgroud)
我不想删除那一行:app 和实体是我的库。如果我删除行 - 我将得到一个第三方库(50mb)与实体(2mb)合并的层。
我正在尝试实现分页,但是没有用。这是我的代码:
pager.service.ts:
import * as _ from 'underscore';
@Injectable({
providedIn: 'root',
})
export class PagerService {
getPager(totalItems: number, currentPage: number = 1, pageSize: number = 10) {
// calculate total pages
let totalPages = Math.ceil(totalItems / pageSize);
let startPage: number, endPage: number;
if (totalPages <= 10) {
// less than 10 total pages so show all
startPage = 1;
endPage = totalPages;
} else {
// more than 10 total pages so calculate start and end pages
if (currentPage <= …
Run Code Online (Sandbox Code Playgroud) 我正在使用以下Dockerfiles在运行Docker Desktop for Windows 17.03版的Windows 10桌面上的Windows容器中创建运行Jenkins的容器
FROM microsoft/windowsservercore
RUN powershell -Command wget 'http://javadl.oracle.com/webapps/download/AutoDL?BundleId=210185' -Outfile 'C:\jreinstaller.exe' ; Start-Process -filepath C:\jreinstaller.exe -passthru -wait -argumentlist "/s,INSTALLDIR=c:\Java\jre1.8.0_91" ; del C:\jreinstaller.exe
ENV JAVA_HOME c:\\Java\\jre1.8.0_91
RUN setx PATH %PATH%;%JAVA_HOME%\bin
CMD [ "java.exe" ]
Run Code Online (Sandbox Code Playgroud)
我从这个docker文件创建图像:
docker build -t windows-java:jre1.8.0_91 .
Run Code Online (Sandbox Code Playgroud)
我用来安装Jenkins的第二个Dockerfile:
FROM windows-java:jre1.8.0_91
ENV HOME /jenkins
ENV JENKINS_VERSION 2.58
RUN mkdir \jenkins
RUN powershell -Command "wget -Uri https://updates.jenkins-ci.org/latest/jenkins.war -UseBasicParsing -OutFile /jenkins/jenkins.war"
EXPOSE 8080
EXPOSE 50000
CMD java -jar C:\\jenkins\\jenkins.war
docker build -t jenkins-windows:2.0 . …
Run Code Online (Sandbox Code Playgroud) 我moment.js
用来更改应用程序的本地日期格式,但出现以下错误:
导入库时,“ moment”没有导出的成员“ default”。
下面是我的代码:
import {Inject, Injectable, Optional} from '@angular/core';
import {DateAdapter, MAT_DATE_LOCALE, MatDateFormats} from '@angular/material';
import * as _moment from 'moment';
import {default as _rollupMoment, Moment} from 'moment';
const moment = _rollupMoment || _moment;
Run Code Online (Sandbox Code Playgroud) 我的 Windows docker 容器无法解析host.docker.internal,但它可以与 Linux 容器一起使用。我更愿意继续使用 Linux 容器,但我在使用旧的 .Net Framework 4.7.2 应用程序时遇到了问题。
我的应用程序连接到本地计算机上的 RabbitMQ。这在 Linux 容器中按预期工作,但在 Windows 容器中它会抛出此错误:
System.Net.Sockets.SocketException:没有这样的主机已知
我尝试过 ping host.docker.internal。
C:\app>ping host.docker.internal Ping 请求找不到主机 host.docker.internal。请检查名称并重试。
这是我的 dockerFile:
FROM mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019
ARG source
WORKDIR /app
COPY ${source:-SampleApp/obj/Docker/publish} .
ENTRYPOINT ["C:\\app\\SampleApp.exe"]
Run Code Online (Sandbox Code Playgroud)
我使用的是 docker 版本20.10.2和 docker 桌面版本3.1.0。
我在 Windows 10 版本 10.0.18363 上运行。
docker docker-container docker-for-windows windows-container docker-desktop
我正在尝试从Atlas连接MongoDB,但遇到了:
dnspython必须安装错误
我的mongo uri(样机):mongodb+srv://abc:123@something.something.com/admin?retryWrites=True
我的pymongo版本:3.6.1
我已经安装dnspython
并完成import dns
仍然,我得到错误:
必须安装dnspython模块才能使用mongodb + srv:// URI
我对 docker 很陌生。我正在尝试 dockerize 一个 helloworld API。但是当我尝试 docker run 图像时,我收到了这个错误:
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: container f891d7fc7af6e1183256043e6105fc87e25c6959d9745cc972b42c7b2e6f5a06 在创建系统调用过程中遇到错误:Windows无法找到指定的文件系统:(0x2) [事件详细信息:提供者:00000000-0000-0000-0000-000000000000] [事件详细信息:提供者:00000000-0000-0000-0000-0000000000000-0000-0000-0000-000000000000] .cpp(168)\vmcomputeagent.exe!00007FF683797B25: (caller: 00007FF68377A312) Exception(4) tid(108) 80070002 系统找不到指定的文件。CallContext:[\Bridge_ProcessMessage\ComputeSystemManager_ExecuteProcess\VmHostedContainer_ExecuteProcess] Provider: 00000000-0000-0000-0000-000000000000] 额外信息: {"CommandLine":"
我有一个简单的asp.net api。我把它发布到同一个文件夹./publish
这是我的 docker 文件
FROM microsoft/aspnet:4.7.1-windowsservercore-1709
WORKDIR /app
COPY ./publish .
WORKDIR bin
RUN ls
ENTRYPOINT ["dotnet", "HelloWorldDocker.dll"]
Run Code Online (Sandbox Code Playgroud)
ls
显示HelloWorldDocker.dll
是在目录中./bin (app/bin)
。IDK这里有什么问题...
我试图使用PostgreSQLContainer
从TestContainers(https://github.com/testcontainers/testcontainers-java + https://www.testcontainers.org/按顺序)进行单元测试我的JPA库。
我这样声明我的容器:
private val postgresqlContainer = PostgreSQLContainer("postgres:12-alpine")
Run Code Online (Sandbox Code Playgroud)
但是,我在Intellij IDE 中遇到以下错误:
没有足够的信息来推断类型变量 SELF
我尝试启动服务时的完整错误是:
错误:(26, 43) Kotlin:类型推断失败:没有足够的信息来推断构造函数中的参数 SELF PostgreSQLContainer<SELF : PostgreSQLContainer<SELF!>!>(p0: String!) 请明确指定。
docker ×6
dockerfile ×3
angular ×2
angular7 ×2
typescript ×2
asp.net ×1
database ×1
dnspython ×1
java ×1
javascript ×1
kotlin ×1
momentjs ×1
mongodb ×1
node.js ×1
pymongo ×1
python ×1
spring-boot ×1