文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

两个 Docker 使用神技,99% 的人都不知道!

2024-12-03 01:26

关注

最近发现两个非常好用的工具,一个是 runlike,一个是 whaler

听起来是不是想说 N...B... 哈哈,那就走起?

1.找回 Docker 容器运行的命令

平时可能因为测试或者一些规范的操作方式导致启动一个容器,忘记了这个容器的启动命令是什么了,又需要找回来在别的机器上创建的时候,就很麻烦,可能很多人会想到通过 docker inspect 分析输出的 json 文件中的volume、ports、Env等

  1. $ docker inspect $container_name 

这个命令应该是很熟悉的,查看容器的基本信息。

虽然这样也能找到运行容器的命令,但是依旧还需要时间去整理,因此这里分享一个可以直接打印运行命令的工具runlike[1],在runlike传递一个容器名称,就会直接打印出该容器的运行命令。runlike使用起来非常方便,可以直接通过pip安装,也可以通过容器方式免安装使用: 

  1. # pip  
  2. $ pip install runlike  
  3. # by docker  
  4. $ alias runlike="docker run --rm -v /var/run/docker.sock:/var/run/docker.sock assaflavie/runlike" 

下面还是通过上面那个容器测试一下是否可以:

这样使用起来就方便很多了。关于 runlike 一些其他的选项,可以直接通过--help学习。

2.从镜像导出Dockerfile

平时可能会构建很多不同的镜像,比如维护一些基础Docker镜像、想查看一些公开仓库的Docker镜像是怎么构建的,或因为长时间不维护找不到当时构建镜像的 Dockerfile,或者因为网络无法查看时,能从镜像导出Dockerfile就显得很重要,这里可以通过 whaler[2] 来快速的导出. 这里我们依旧不安装,通过容器化的方式使用dfimage命令,便于使用,我们将该命令写成命令别名: 

  1. # alias export docker image to dockerfile  
  2. $ alias whaler="docker run -t --rm -v /var/run/docker.sock:/var/run/docker.sock:ro pegleg/whaler" 

然后通过whaler命令输出 pegleg/whaler 镜像的dockerfile文件:

这样就输出pegleg/whaler这个镜像的 Dockerfile 大致的内容了,还是彩色的输出呢?哈哈,有心了。从上图可以看到输出的 Dockerfile 也与平常写的不太一样,可以在 Github 上看下仓库内的 Dockerfile 文件 

  1. FROM golang:1.14.4 AS builder  
  2. WORKDIR $GOPATH  
  3. RUN go get -u github.com/P3GLEG/Whaler  
  4. WORKDIR $GOPATH/src/github.com/P3GLEG/Whaler  
  5. RUN export CGO_ENABLED=0 && go build .  
  6. RUN cp Whaler /root/Whaler  
  7. FROM alpine:3.12.0  
  8. WORKDIR /root/  
  9. COPY --from=builder /root/Whaler .  
  10. ENTRYPOINT ["./Whaler"] 

由 Dockerfile 来看,这个 whaler 采用的多阶段构建,所以无法输出 --from=builder 的构建内容,这个锅 whaler 不背,我们可以换一个镜像看看:

这个就显示的很自然,很有熟悉的味道了。whaler 支持同时分析多个镜像等等功能,这里就不在说了,感兴趣的可以自己看一下。至于 whaler 是怎么实现的,其实看一下源码就明白了。 

来源:奇妙的Linux世界内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯