深夜提醒

现在是深夜,建议您注意休息,不要熬夜哦~

🏮 🏮 🏮

新年快乐

祝君万事如意心想事成!

2024 桐庐半程马拉松
00:00:00
时间
0.00
距离(公里)
--:--
配速
--
步频
--
心率 (bpm)
--
配速
步频
|
share-image
ESC

Dockfile 实践心得

使用标签

给镜像打上标签,易读的镜像标签可以帮助了解镜像的功能。如 docker build -t=”ruby:2.0-onbuild”

谨慎选择基础镜像

选择基础镜像时,尽量选择当前官方镜像中的镜像。不同镜像的大小不同,目前 Linux 镜像大小有如下关系:

busybox < debian < centos < Ubuntu

同时在构建自己的 Docker 镜像时,只安装必须使用的包。此外,相比 Ubuntu 镜像,更推荐使用debian镜像,因为它非常轻量级(目前大小是在 100M以下),并且仍然是一个完整的发布版本。

FROM指令应该包含参数tag 如使用 FROM debian:jessie 而不是FROM debian。

充分利用换成

Docker daemon 会顺序执行 Dockerfile 中的指令,而且一旦缓存失效,后续命令将不能使用缓存。为了有效的利用缓存,需要保证指令的连续性,尽量将所有 Dockerfile 文件中相同不分都放在前面,而将不同的部分放在后面。

正确使用ADD 与 COPY 指令

尽管 ADD 和COPY 用法和作用很相近,但是 COPY 仍是首选。COPY 相对于 ADD 而言,功能更简单。

RUN 指令

为了使用 Dockerfile 易读、易理解和可维护,在使用较长的 RUN 指令可以使用反斜杠 \ 分割多行。大部分使用 RUN 指令的场景是运行 apt-get 命令,在该场景下请注意一下几点:

  • 不要在一行中单独使用 RUN apt-get update,当软件源更新以后,这样会引起缓存问题,导致 RUN apt-get install 指令失败。所以 RUN apt-get update 和 apt-get install 应该写在同一行,如: apt-get update && apt-get install xxx

  • 避免使用 RUN apt-get upgrade 和 RUN apt-get dist-upgrade。因为无特权容器中会导致一些包更新失败。

不要害怕镜像的层数过多,我们可以在任一一层创建一个容器。因此,不要将所有的容器写在一个 RUN 中。

CMD 和 ENTRYPOINT

CMD 和 ENTRYPOINT 指令指定了容器运行的默认命令。推荐结合使用,使用 exec 格式的 ENTRYPOINT 指令设置固定的默认命令和参数,然后使用 CMD 指令设置可变的参数。

不要在docker中做端口映射

例如

EXPOSE 80:8080

而是暴露端口,另外做映射

EXPOSE 80

使用 Dockerfile 共享 Docker镜像

若要共享镜像,只需要共享 Dockerfile 文件即可。共享 Dockerfile文件具有以下优点:

  • 可以加入版本控制,这样便于追踪文件的变化和回滚错误
  • 通过 Dockerfile 文件,可以清楚镜像构建的过程
  • 使用 Dockerfile 文件构建的镜像具体确定性

以上由awen 整理,来源《docker容器与容器云》

文章作者:阿文
文章链接: https://www.awen.me/post/53189.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 阿文的博客
本文于 2017-10-17 19:52 发布,已超过半年(3071天),请注意甄别内容是否已过期。

评论

0 条评论
😀😃😄 😁😅😂 🤣😊😇 🙂🙃😉 😌😍🥰 😘😗😙 😚😋😛 😝😜🤪 🤨🧐🤓 😎🥸🤩 🥳😏😒 😞😔😟 😕🙁☹️ 😣😖😫 😩🥺😢 😭😤😠 😡🤬🤯 😳🥵🥶 😱😨😰 😥😓🤗 🤔🤭🤫 🤥😶😐 😑😬🙄 😯😦😧 😮😲🥱 😴🤤😪 😵🤐🥴 🤢🤮🤧 😷🤒🤕 🤑🤠😈 👿👹👺 🤡💩👻 💀☠️👽 👾🤖🎃 😺😸😹 😻😼😽 🙀😿😾 👍👎👏 🙌👐🤲 🤝🤜🤛 ✌️🤞🤟 🤘👌🤏 👈👉👆 👇☝️ 🤚🖐️🖖 👋🤙💪 🦾🖕✍️ 🙏💅🤳 💯💢💥 💫💦💨 🕳️💣💬 👁️‍🗨️🗨️🗯️ 💭💤❤️ 🧡💛💚 💙💜🖤 🤍🤎💔 ❣️💕💞 💓💗💖 💘💝💟 ☮️✝️☪️ 🕉️☸️✡️ 🔯🕎☯️ ☦️🛐 🆔⚛️🉑 ☢️☣️📴 📳🈶🈚 🈸🈺🈷️ ✴️🆚💮 🉐㊙️㊗️ 🈴🈵🈹 🈲🅰️🅱️ 🆎🆑🅾️ 🆘 🛑📛 🚫💯💢 ♨️🚷🚯 🚳🚱🔞 📵🚭 ‼️⁉️🔅 🔆〽️⚠️ 🚸🔱⚜️ 🔰♻️ 🈯💹❇️ ✳️🌐 💠Ⓜ️🌀 💤🏧🚾 🅿️🈳 🈂🛂🛃 🛄🛅🛗 🚀🛸🚁 🚉🚆🚅 ✈️🛫🛬 🛩️💺🛰️
您的评论由 AI 智能审核,一般1分钟内会展示,若不展示请确认你的评论是否符合社区和法律规范
加载中...

选择联系方式

留言反馈

😀😃😄 😁😅😂 🤣😊😇 🙂🙃😉 😌😍🥰 😘😗😙 😚😋😛 😝😜🤪 🤨🧐🤓 😎🥸🤩 🥳😏😒 😞😔😟 😕🙁☹️ 😣😖😫 😩🥺😢 😭😤😠 😡🤬🤯 😳🥵🥶 😱😨😰 😥😓🤗 🤔🤭🤫 🤥😶😐 😑😬🙄 😯😦😧 😮😲🥱 😴🤤😪 😵🤐🥴 🤢🤮🤧 😷🤒🤕 🤑🤠😈 👿👹👺 🤡💩👻 💀☠️👽 👾🤖🎃 😺😸😹 😻😼😽 🙀😿😾 👍👎👏 🙌👐🤲 🤝🤜🤛 ✌️🤞🤟 🤘👌🤏 👈👉👆 👇☝️ 🤚🖐️🖖 👋🤙💪 🦾🖕✍️ 🙏💅🤳 💯💢💥 💫💦💨 🕳️💣💬 👁️‍🗨️🗨️🗯️ 💭💤❤️ 🧡💛💚 💙💜🖤 🤍🤎💔 ❣️💕💞 💓💗💖 💘💝💟 ☮️✝️☪️ 🕉️☸️✡️ 🔯🕎☯️ ☦️🛐 🆔⚛️🉑 ☢️☣️📴 📳🈶🈚 🈸🈺🈷️ ✴️🆚💮 🉐㊙️㊗️ 🈴🈵🈹 🈲🅰️🅱️ 🆎🆑🅾️ 🆘 🛑📛 🚫💯💢 ♨️🚷🚯 🚳🚱🔞 📵🚭 ‼️⁉️🔅 🔆〽️⚠️ 🚸🔱⚜️ 🔰♻️ 🈯💹❇️ ✳️🌐 💠Ⓜ️🌀 💤🏧🚾 🅿️🈳 🈂🛂🛃 🛄🛅🛗 🚀🛸🚁 🚉🚆🚅 ✈️🛫🛬 🛩️💺🛰️