我正在尝试使用docker构建环境,并且我想使其自动运行。我已经编写了一个自定义的go二进制文件来处理构建内容,并且构建了一个安装了the go binary
,maven
和java8 sdk
的图像。
二进制文件执行的步骤是:
我在运行容器时将repo url作为参数传递给二进制文件,它确实可以构建。
但是问题是我需要那些 Artifact 才能运行内置的应用程序。
我知道我可以使用
volumes
,但是我不想使用它们,因为在构建完成后,卷将变成dangle
,并且需要删除这些dangling volumes
的工作。我以为可以创建一个将文件保存到主机的api(这意味着我必须在主机中运行该api),而我的自定义go二进制文件可以将文件发送到api,而api可以进行保存。
但是当涉及从容器内部调用主机时,我遇到了问题。我收到
connection refused to port xx
错误。有更好的方法吗,还是我应该改变方法?
最佳答案
在accessing-host-machine-as-localhost-from-a-docker-container-thats-also-inside上找到了答案
答案是运行带有--add-host
选项的容器。
关于docker - 从容器内部访问主机的api,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44324140/