为了测试 podman,我尝试创建一个最小图像“hello 容器”。在我的 src 目录中,我有一个 Dockerfile 和一个 main.cpp。main.cpp:
#include <iostream>
int main(int argc, char ** argv)
{
std::cout << "Hello container" << std::endl;
}
Dockerfile:
FROM gcc:6.3 AS build
COPY . /usr/src/testCpp
WORKDIR /usr/src/testCpp
RUN g++ -o simpleapp2 main.cpp
FROM alpine:latest
RUN apk update && apk add --no-cache libstdc++
WORKDIR /usr/bin/testCpp
COPY --from=0 /usr/src/testCpp/simpleapp2 .
# Run the output program from the previous step
CMD ["./simpleapp2"]
我得到一个图像,但是当我尝试使用命令“podman run 6c7cdfe0f023”执行图像时,我收到错误消息“standard_init_linux.go:228: exec user process caused: no such file or directory”?
我的操作系统是 RH 7.5,buuildah 版本是 1.11.6,podman 版本是 1.6.4。当我检查目录 $HOME/.local/share/containers/storage/overlay/ 时,我可以在 diff/usr/bin/testCpp/ 中看到一个 simpleapp2 文件。
谢谢你的帮助。