raspberrypi下使用scratch创建一个简单的helloword镜像

1.在树莓派本地磁盘上新建一个名为rpi-hello的目录

2.创建一个hello.c的程序,然后通过 gcc -o hello -static hello.c 进行编译

3.创建Dockerfile文件,写入如下内容

FROM resin/scratch
ADD hello /
CMD ["/hello"]

4.通过docker build创建镜像

sudo docker build -t mayb/rpi-hello .

此处添加了mayb是因为我在hub.docker上注册了这个名字,为了后续可以push镜像上去,所以要这么写。然后还需要注意命令后面的 . 来指定当前目录为上下文路径

5.启动容器

sudo docker run mayb/rpi-hello

6.登录hub.docker

sudo docker login

按照提示输入自己的用户名和密码之后回车,显示“Login succeeded”说明登录成功,接下来push自己的镜像

7.push自己的镜像到hub.docker

sudo docker push mayb/rpi-hello

在hub.docker可以查到已经自动创建了的名为rpi-hello的仓库

8.验证镜像是否上传成功

将本地的mayb/rpi-hello删除

sudo docker rmi mayb/rpi-hello

然后重新pull并运行,如果显示hello world,说明成功

sudo docker run mayb/rpi-hello

 

网上通过scratch创建镜像千篇一律的都是golang的hello web,我最开始是想做一个xware的镜像方便使用,可是通过scratch或者resin/rpi-raspbian都不成功,输出显示“No such file or directory”,很是让人困惑,怀疑是不是缺少依赖所以先写一个C版本的helloworld来验证通过scratch创建镜像的可行性。在ubunbu上创建hello镜像的方式也是一样的,唯一区别是在Dockerfile中将“FROM resin/scratch”换成“FROM scratch”即可。

发表评论

电子邮件地址不会被公开。 必填项已用*标注