构build运行编译后的代码的小容器
从https://docs.docker.com/articles/baseimages/
我正在试图build立一个基本的图像来运行编译去代码,从: https : //github.com/tianon/dockerfiles/tree/master/true
- 我试图复制到docker的true.go
然后:exec:“/ true”:权限被拒绝 - 也试图冲进去,然后:“bash”
然后:$ PATH中找不到可执行文件 - 还尝试使用debootstrap raring raring> / dev / null
然后:“$ bash”:$ PATH中找不到可执行文件
你怎么做到这一点?
谢谢
我不确定我完全遵循。
来自链接项目的Dockerfile会生成一个没有任何东西的图像,除了一个可执行文件 – 将不会有shell或编译器,所以运行bash将是不可能的。 它通过使用特殊的基本图像来完成,它只是一个完全空的文件系统。
如果您使用Dockerfile(docker docker build -t go-image .
)克隆存储库并构build映像,它将直接将可执行文件直接复制到映像中(请注意,Dockerfile复制可执行文件true-asm
,而不是源代码true.go
)。 如果你然后使用docker run
来启动图像,它会运行它( docker run go-image
)。
那有意义吗? 代码在本地编译(或由另一个容器编译),编译后的独立可执行文件自行放置到映像中。
一般来说,你不希望这样做,当你开始的时候肯定不会这样做 – 使用包含基本工具(如shell)的golang
或debian
映像会更容易。
- Golang二进制内buildDocker容器,还是Mach-O可执行格式?
- AWS Docker Golang。 'eb deploy'错误
- Docker守护进程不会启动或重新启动
- 如何为私人注册login凭证创build“RegistryAuth”
- Golang:托pipe的VM应用程序的预览返回错误
- 获取stream错误:streamID 1; 在容器中使用Golang中的GooglesearchAPI时的PROTOCOL_ERROR
- 去共享Docker容器共享库
- 将docker-compose.yml转换成DockerAPI / services / create接受的json?
- 得到“无法find包”试图build立我的应用程序在docker集装箱