您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>源码下载>数值算法/人工智能>

Docker上的Alpine Linux镜像建立

大小:0.26 MB 人气: 2017-10-12 需要积分:1
  如何建立你自己的Docker镜像2016-03-18 14:33
  
  Alpine Linux的什么是Docker社区所钟爱?轻量级容器意味着更多的计算资源。Alpine Linux的确是轻型的,也就是说Alpine Linux是面向安全应用的轻量级 Linux 发行版。
  你喜欢存钱吗?我喜欢存钱。更好地资源利用就像拥有幸福的银行账户。
  让我们对Docker上的Alpine Linux一探究竟。在Alpine Linux上可以建立属于我们自己的镜像。
  创建你自己的容器
  建立一个镜像的第一步是创建一个新的目录,并打开Dockerfile。接来下,用你最喜爱的文本编辑器取代“atom”行。
  cd~ mkdir buildingDockers cdbuildingDockers atom Dockerfile
  在atom中,添加以下代码到文件中并保存。
  FROM iron/base
  这是Iron.io容器的基础镜像,但你实际上可以命名任意Docker repo里你想要的的镜像。
  我喜欢iron/base镜像,因为这是一个Iron.io博客。但也因为它增加了必要的库,当我们开始添加和构建其他包的时候可以派上用场。
  我们首先需要FROM命令。让我们创建容器!在命令行中键入:
  docker build -tnamehere 。
  身披Shell的勇士
  好了,我们已经有一个容器。现在,我们用它做什么?
  访问shell是一个很棒的方法,并且很有成就感。它也很方便进行故障排除。打开镜像并释放shell,试试:
  docker build -tnamehere 。
  注意,这不是 Bash。
  有许多有用的命令来创建Docker镜像。为了简化,本文只介绍FROM和RUN命令。这绝对是值得查看整个列表选项的官方文档。
  生而为RUN
  RUN如何执行一个命令。例如,Alpine Linux 有一个很棒的存储类包,类似apt-get之类。为了看已安装的东西,尝试添加以下代码到你的Dockerfile:
  RUNapk info
  我们的安装包是如此有用。让我们添加一些东西。为此,从Alpine Linux packages repo中选择一个包。现在,将它添加至Dockerfile:
  RUN apk addpackageNameHere
  最佳的实践和警告
  Docker本身就有一个伟大的最佳实践指南。在这篇文章中,他们指出保持镜像小的重要性。避免膨胀很简单和直观。没问题,对吧?只是安装你需要的软件。
  你也在Dockerfile中限制RUN命令的数量?Dockerfile 建立在层中。每个命令添加一个新的层。更多的层意味着更多的工作要做,你要将它们干净利落的合并在一起。
  层可多可少
  减少分层,我建议对命令分组。我们希望添加一个单独的层解决尽可能多的工作。以下是分组命令:
  RUN command1 && command2
  通过使用“ ”和回车使它更具可读性:
  RUN command1 && command2 && command3
  直到变成脑力负担之前,分组命令都是伟大的。当那种情况发生,优先考虑维护性。如果它减少了认知负荷,使用一个额外的RUN命令。Kelsey Hightower在《12 Fractured Apps》中指出,扭转一个RUN命令到shell脚本中是一个稍显逊色的方法来保证镜像的可维护性。
  删除缓存,没人会因此受伤
  没必要在Docker-land中安装缓存包。所以,让我们删除缓存。在你的Dockerfile结尾处添加以下语句:
  RUN rm -rf/var/cache/apk/*
  Musl Milk
  如果你敢于用官方之外的Alpine Linux apk生态系统,你就有很大的机会选择从源代码进行编译。请注意,Alpine Linux依赖于Musl而不是GCC。
  照着这么编译。
  Busy Beat Boxin’
  Alpine Linux在发行版大小上作出一些牺牲。他们选择BusyBox,而不是安装*Nix实用工具的标准套件。BusyBox是常用的实用工具中不错的精简型。
  那就意味着一些实用工具可能不接受一般的GNU标记。这也意味着有些实用工具可能会完全消失。想要curl在你的镜像中?那你必须安装它。
  保持学习
  维基百科上有Alpine Linux的资料,你可以自己寻找更方便的技巧。
  最后,有我们便利的IronWorker指南,很容易检视Docker镜像。如果你想看看我们如何写Dockerfiles,访问github.com/iron-io/dockers.
 

非常好我支持^.^

(0) 0%

不好我反对

(0) 0%

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!