我试图在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,
});
我完全迷失了...有没有人有想法?谢谢!