在Dockerfile上使用docker build构建容器时,我无法连接到本地docker守护程序。
我的目标是使用Dockerfile构建一个容器,并在该容器内运行一个测试,该测试使用Docker.Dotnet和正确的pg映像启动一个postgreSQL数据库。
Dockerfile:
FROM microsoft/dotnet:2.2-sdk AS build-env
WORKDIR /app
COPY ./src ./
RUN dotnet restore ./myproj.Test/myproj.Test.csproj
RUN dotnet test ./myproj.Test/myproj.Test.csproj
从测试项目连接到本地docker守护程序:
_client = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ?
new DockerClientConfiguration(new Uri("npipe://./pipe/docker_engine")).CreateClient() :
new DockerClientConfiguration(new Uri("unix:///var/run/docker.sock")).CreateClient();
连接失败
我认为无法连接,因为该测试在docker build容器(容器中的容器)内运行。在本地运行测试成功连接到客户端。