您现在的位置是:亿华云 > 人工智能
99%的人没使用过它俩,Docker优秀实践
亿华云2025-10-04 00:55:22【人工智能】5人已围观
简介Docker最佳实践最近发现两个非常好用的工具,一个是runlike,一个是whalerrunlike:通过容器打印出容器的启动命令 whaler:通过镜像导出dockerfile
Docker最佳实践
最近发现两个非常好用的没使工具,一个是用过r优runlike,一个是秀实whaler
runlike:通过容器打印出容器的启动命令 whaler:通过镜像导出dockerfile听起来是不是想说N...B...哈哈,那就走起?没使
找回Docker容器运行的命令
平时可能因为测试或者一些规范的操作方式导致启动一个容器,忘记了这个容器的用过r优启动命令是什么了,又需要找回来在别的秀实机器上创建的时候,就很麻烦,没使可能很多人会想到通过docker inspect分析输出的用过r优json文件中的volume、ports、秀实Env等
docker inspect $container_name这个命令应该是没使很熟悉的,查看容器的用过r优基本信息。
虽然这样也能找到运行容器的秀实命令,但是源码库没使依旧还需要时间去整理,因此这里分享一个可以直接打印运行命令的用过r优工具runlike[1],在runlike传递一个容器名称,秀实就会直接打印出该容器的运行命令。runlike使用起来非常方便,可以直接通过pip安装,也可以通过容器方式免安装使用:
pip pip install runlike # by docker alias runlike="docker run --rm -v /var/run/docker.sock:/var/run/docker.sock assaflavie/runlike"下面还是通过上面那个容器测试一下是否可以:
这样使用起来就方便很多了。关于runlike一些其他的选项,可以直接通过--help学习。
从镜像导出Dockerfile
平时可能会构建很多不同的镜像,比如维护一些基础Docker镜像、想查看一些公开仓库的Docker镜像是怎么构建的,或因为长时间不维护找不到当时构建镜像的Dockerfile,或者因为网络无法查看时,能从镜像导出Dockerfile就显得很重要,这里可以通过whaler[2]来快速的导出. 这里我们依旧不安装,通过容器化的方式使用dfimage命令,便于使用,服务器租用我们将该命令写成命令别名
# alias export docker image to dockerfile 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文件
FROM golang:1.14.4 AS builder WORKDIR $GOPATH RUN go get -u github.com/P3GLEG/Whaler WORKDIR $GOPATH/src/github.com/P3GLEG/Whaler RUN export CGO_ENABLED=0 && go build . RUN cp Whaler /root/Whaler FROM alpine:3.12.0 WORKDIR /root/ COPY --from=builder /root/Whaler . ENTRYPOINT ["./Whaler"]由dockerfile来看,这个whaler采用的多阶段构建,所以无法输出--from=builder的构建内容,这个锅whaler不背,我们可以换一个镜像看看:
这个就显示的很自然,很有熟悉的味道了。whaler支持同时分析多个镜像等等功能,这里就不在说了,感兴趣的可以自己看一下。至于whaler是怎么实现的,其实看一下源码就明白了。云服务器提供商
很赞哦!(916)
站长推荐
用户邮箱的静态密码可能已被钓鱼和同一密码泄露。在没有收到安全警报的情况下,用户在适当的时间内不能更改密码。在此期间,攻击者可以随意输入帐户。启用辅助身份验证后,如果攻击者无法获取移动电话动态密码,他将无法进行身份验证。这样,除非用户的电子邮件密码和手机同时被盗,否则攻击者很难破解用户的邮箱。
Spring Cloud构建微服务架构:分布式服务跟踪(收集原理)
PHP漏洞|一张GIF图片就能让服务器宕机的PHP漏洞
8个月的Python学习历程,他的经历感动了整个程序员圈子!
公司名字不但要与其经营理念、活动识别相统一,还要能反映公司理念,服务宗旨、商品形象,从而才能使人看到或听到公司的名称就能产生愉快的联想,对商店产生好感。这样有助于公司树立良好的形象。
核心代码从Python换成Go语言,提速30倍!
涨知识,原来可以这样用CSS来追踪用户
2018 程序员大调查,哪些技术和人才最值钱?