【问题标题】:How do I make a docker image of my pi’s setups?如何制作我的 pi 设置的 docker 映像?
【发布时间】:2021-04-30 11:56:09
【问题描述】:

我正在尝试与我的队友分享我在 Raspberry pi4 上的设置 这样他们都可以使用我现在拥有的相同设置。

到目前为止,在我的 Raspberry pi 上,我已经下载了 tensorflow,用于对象检测的东西,还设置了一个带有 APM 的 Web 服务器。 我听说我可以使用 docker 通过制作 docker 映像在这个 pi 上共享所有这些设置 但我不知道怎么做。

我尝试从 Docker hub 拉取 Tensorflow 和 APM 的镜像,并将它们全部运行在一个容器中,然后将其作为镜像共享。

但后来我意识到我无法共享我为 OD 拥有的文件。

谁能解释一下如何在我的 pi 上制作整个设置的 Docker 映像?

【问题讨论】:

    标签: docker docker-compose raspberry-pi dockerfile raspberry-pi4


    【解决方案1】:

    如果您想分享您的整个 raspberry-pi 设置,那么您必须分享您的 SD 卡的图像。

    图像包含整个文件系统,通常大小为几 GB。不建议每次小改动都分享给队友。
    创建图像有多种方法 - 只需 google 即可获得“创建图像 sd 卡”。

    一个 docker-image 就像一个图像,但它的数据少得多。 Docker-Images 不包含整个操作系统。
    如果你想分享你的 docker-image,那么你的队友必须先设置他们的 Pi。
    而且您需要一个存储库,您可以在其中上传图像(并且您的伙伴可以下载)。一个好的平台是https://hub.docker.com

    听起来你想共享代码。对于代码共享,我推荐 git。 https://github.com有一些不错的教程

    我的提示:用你需要的所有东西(tenserflow,git,...)设置一个 pi。 您可以与您的朋友分享此图像。 该项目的代码可以存储在 GitHub 上。当您更新代码时,您的伙伴可以使用 git pull 获取这些更新 - 这些更改通常非常小,而不是整个图像的几 GB。

    如果您训练大型复杂模型并希望共享它们,那么 docker-image 是最佳选择。
    在这种情况下,与 docker 共享一个覆盆子图像。 Docker-Images 被分成不同的层。通过良好的设计,这些层很小,很适合共享。


    您在评论中的问题:

    您可以在 docker-image 中安装 tenserflow。他们的网站上有很好的说明。 https://www.tensorflow.org/install/docker

    我会推荐这样的Dockerfile

    FROM tensorflow/tensorflow  # latest stable release
    
    ADD requirements.txt requirements.txt # https://pip.pypa.io/en/stable/user_guide/#requirements-files
    RUN pip install -r requirements.txt && rm -f requirements.txt
    
    ADD src/* /app/
    WORKDIR /app
    
    ENTRYPOINT["python"]
    CMD["-u", "yourscript.py"]
    

    每次更改代码时,都可以使用 docker build . -t <IMAGE-NAME> 构建它。
    您必须将图像推送到某个地方(例如 hub.docker.com)。 docker push <IMAGE-NAME>

    【讨论】:

    • 非常感谢您的回答!我尝试这样做的原因是因为这就像我从教授那里得到的一个任务,试图让我习惯 Linux 服务器和 docker。他说我将为我的 pi 的服务器制作一个 docker 映像。如果我在另一个 pi 上使用这个图像,他们可以在与我相同的环境下启动。 (比如它会有 APM、tenserflow w OD)你有什么想法可以通过这种方式实现吗?
    • 抱歉回复晚了。我编辑了我的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 2021-04-08
    相关资源
    最近更新 更多