如何在AspNetCore网站Docker-Container中使用Docker命令?

时间:2017-12-13 21:41:49

标签: c# docker asp.net-core docker-compose asp.net-core-mvc-2.0

我试图在aspnetcore docker容器中构建一个docker镜像。 aspnetcore容器是一个网站,它从不同的源收集数据,然后动态构建dockerfile。之后我想从这个aspnetcore应用程序中的dockerfile创建一个docker镜像。

我尝试以不同的方式安装docker socket,但我无法在容器中使用docker命令。

我参考了以下链接:http://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/

所以我尝试运行图像并以下列方式安装docker socket:

直接在cmd:

docker run -v /var/run/docker.sock:/var/run/docker.sock webinterface

在我的docker-compose文件中:

services:
  webinterface:
    image: webinterface
    container_name: webinterface
    build:
      context: ./WebInterface
      dockerfile: Dockerfile
  external_links:
    - geonode_geonode_1
  ports:
    - "5000:80"
  volumes:
    - /var/run/docker.sock:/var/run/docker.sock

然后我尝试使用容器内的docker命令:

docker exec -it webinterface bash

但是webinterface无法识别任何docker命令:

root@f3e434254601:/app# docker help
bash: docker: command not found

我还尝试使用docker远程API通过安装来执行命令 nuget包" Docker.DotNet"并按照官方文档中的说明连接到docker主机:

            DockerClient client2 = new DockerClientConfiguration(new Uri("npipe:////./pipe/docker_engine"))
            .CreateClient();

        return await client2.Containers.ListContainersAsync(
            new ContainersListParameters()
            {
                Limit = 10,
            });

我完全迷失了...有没有人有想法?谢谢!

0 个答案:

没有答案