再分享几个docker小技巧

pshu 码农英语课堂

1. MacOS docker 相关命令自动补全


非 mac 用户可以直接跳到下一个 tip。

首先你已经安装的了docker for mac,自然我们要先安装 bash-completion

brew install bash-completion

然后配置 .bashrc

if [ -f $(brew --prefix)/etc/bash_completion ]; then. $(brew --prefix)/etc/bash_completionfi

最后做下软链接就好了, 重启下 shell,感受下两下 tab 自动补全带来的快感。

cd /usr/local/etc/bash_completion.dln -s /Applications/Docker.app/Contents/Resources/etc/docker.bash-completionln -s /Applications/Docker.app/Contents/Resources/etc/docker-machine.bash-completionln -s /Applications/Docker.app/Contents/Resources/etc/docker-compose.bash-completion

2. 查看 docker build context 的内容


在构建 docker images的时候,我们可以通过合理的控制构建时的 context 来提高 image 构建的速度。当然首先我们会写 .dockerignore 来限制 context 中的内容。但是有时候我们还是想查看下 context 到底有哪些内容,还有没有压榨的空间。在 context 所在的目录,通过下面的 docker file 构建一个image,然后在运行 image,就可以查看当前的 context 的内容了。

FROM busyboxCOPY . /tmp

但是每次总是要写这么一个 dockerfile 也挺麻烦的,大家可以做一个下面的 alias,就会愉悦很多。需要的时候执行 context-image 就行了。

alias context-image='printf "FROM busybox \nCOPY . /tmp\n" |  docker build -t context -f -  .'

3. 最后一点压箱底的东西,请笑纳


最后在分享几个P叔关于 docker 压箱底的东西。虽然安装好了自动补全已经方便了,但是总还有懒要偷的嘛。

快速的运行一个 docker image

function dockerimageshell(){  docker run --rm -it $@  /bin/sh}

比如用上一个 Tip 创建的 context image,用这个函数就可以快速查看;自己也加上 -v -p 等参数来控制下映射

dockerimageshell context

快速的进入一个容器 shell 中。

function dockercontainershell(){  docker exec -it $1  /bin/sh}

这里用容器的 hash 还是名字了什么,都可以快速的进入到容器的 shell 中。

清除 docker 的资源

最后一个大扫除下,比如我们刚才创建的 context image,查看完了就不要留在系统里面浪费空间了。下面的函数不仅清理没用的 image,各种 volumes network 统统帮你搞定。

function dockercls(){  docker system prune}

END

就这么三个小tips,希望对大家有用。

©著作权归作者所有:来自51CTO博客作者mb5fdb131956bf3的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 2021-2-25:对于 Java MMAP,如何查看文件映射脏页,如何统计MMAP的内
  2. 文件的元数据信息查看及修改文件时间戳信息
  3. 基于SSM实现的影院订票系统【附源码】(毕设)
  4. 灭霸模式开启:百度贴吧2017年前的内容全部消失,可以跟黑历史说再见
  5. 一文带你了解 Flink Forward 柏林站全部重点内容
  6. 更简单的 Traefik 2 使用方式
  7. java开发者linux入门
  8. Linux字符的查看及修改
  9. 【重磅】吴恩达最新的机器学习书籍更新啦!

随机推荐

  1. EasyUI学习之输入框
  2. Jquery中的事件处理(自动触发事件,禁用按
  3. ext给grid加toolTip提示(转自http://blog.
  4. 我们可以有多个在同一个吗?
  5. 纯HTML+CSS+JQUERY的响应式导航
  6. 更改所选文本的背景颜色,HTML JQUERY
  7. Server.Htmlencode用于文本域显示带的htm
  8. IOS学习之WebView加载本地HTML代码或网络
  9. 利用HTML canvas制作酷炫星星坠地粒子特
  10. html5: 新特性(表单)