我在我的OkHttpClient client = new OkHttpClient();
HttpUrl.Builder urlBuilder = HttpUrl.parse(config.getServerRoot() + php).newBuilder();
String url = urlBuilder.build().toString();
Request request = new Request.Builder()
.url(url)
.build();
// Get a handler that can be used to post to the main thread
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, final Response response) throws IOException {
// Check for failure
if (!response.isSuccessful()) {
throw new IOException("Unexpected code " + response);
}
// Read data on the worker thread
final String result = response.body().string();
// result = [{"id":"6","name":"föö","content":"bär"}]
}
});
中使用以下脚本创建了一个图像,但是当我使用容器的IP地址和端口(2000)浏览时,我得到403 - 禁止访问:访问被拒绝。我使用的是Windows 10.0.14393 Build 14393, Docker Desktop for Windows 。该项目是一个ASP.NET解决方案,包含Nancy,Entity Framework,AngularJS和SQL Server项目。我是否需要对IIS,Docker,Powershell等进行任何配置更改?我的Dockerfile脚本是:
Dockerfile
答案 0 :(得分:0)
确保您的文件不会在.dockerignore
复制此Dockerfile
FROM microsoft/aspnet
WORKDIR /inetpub/wwwroot
COPY . /inetpub/wwwroot
# Give Full Access To Folder
RUN icacls 'c:/inetpub/wwwroot' /grant 'Everyone:(OI)(CI)F'
# Check that the files have been successfully copied
RUN dir
答案 1 :(得分:-1)
不幸的是,可能有很多事情...
我有同样的问题,问题是/inetpub/wwwroot
文件夹为空。
我可以看到您正在添加一个新的网站文件夹,但是您可以尝试:
我的docker文件是
# FROM microsoft/aspnet:4.7.1-windowsservercore-1709
FROM microsoft/aspnet:4.7.1-windowsservercore-ltsc2016
ARG source
WORKDIR /inetpub/wwwroot
COPY ${source:-obj/Docker/publish} /inetpub/wwwroot
您也可以尝试此处提出的解决方案: https://github.com/Microsoft/iis-docker/issues/5
干杯!
编辑: 使用localhost或127.0.0.1时,我也遇到问题。使用公共IP地址