我有一个非常简单的dockerfile:
FROM scratch
MAINTAINER "aosmith" <a..h@...com>
EXPOSE 6379
ADD redis-server /redis-server
ENTRYPOINT ["/redis-server"]
docker文件位于一个文件夹中,该文件夹中包含redis-server的静态编译副本。
构建运行find但容器拒绝启动:
➜ redis git:(master) ✗ docker run f16
no such file or directory
Error response from daemon: Cannot start container 46be4ed97560cd63fa4f639bed0e25358e807a8229bb3b5a613aa1274e037040: [8] System error: no such file or directory
我尝试了CMD
EXEC
ADD
和COPY
的各种组合,但没有运气。
我正在从源代码构建redis:
make CFLAGS="-static" EXEEXT="-static" \
MALLOC=libc LDFLAGS="-I/usr/local/include/"
值得注意的是,我基本上使用完全相同的Dockerfile来进行项目而没有任何问题。
有什么想法吗?
答案 0 :(得分:0)
&#34; scatch&#34; image实际上是空的,只能被像go这样对其运行时环境几乎没有依赖性的技术使用。
尝试提供一组操作系统实用程序的基本映像,例如bash等。例如
FROM ubuntu
MAINTAINER "aosmith" <a..h@...com>
EXPOSE 6379
ADD redis-server /redis-server
ENTRYPOINT ["/redis-server"]