当前位置: 首页 > article >正文

docker打印容器启动命令和输出dockerfile

runlike:通过容器打印启动命令

  1. 通过pip方式安装
pip install runlike
  1. 通过容器方式安装(永久别名:配置在~/.bashrc中)
alias runlike="docker run --rm -v /var/run/docker.sock:/var/run/docker.sock assaflavie/runlike"
  1. 用法:
runlike 容器名/容器id
runlike -p 容器名/容器id
  1. 示例:runlike -p 会自动换行
[root@zabbix ~]# runlike -p busybox
docker run --name=busybox \
	--hostname=4871fc667d13 \
	--mac-address=02:42:ac:11:00:02 \
	--runtime=runc \
	--detach=true \
	-t \
	87ff76f62d36 \
	sh

whaler:通过镜像导出dockerfile

例如想学习研究官方dockerfile写法可直接导出文件,安装方式如runlike一致

  1. 用法:
    whaler 镜像名/镜像id
  2. 示例(可以重定向>*.txt文件查看):
[root@zabbix ~]# whaler  72cc77d99849
Analyzing 72cc77d99849
Docker Version:
GraphDriver: overlay2
Environment Variables
|PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Image user
|User is root

Potential secrets:
|Found match etc/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub Possible public key \.pub$ bef3e43d6b12733deb56143ac0c4e8b6111d216f7d5dcb8cfaffde6fd87082ab/layer.tar
|Found match etc/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub Possible public key \.pub$ bef3e43d6b12733deb56143ac0c4e8b6111d216f7d5dcb8cfaffde6fd87082ab/layer.tar
|Found match etc/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub Possible public key \.pub$ bef3e43d6b12733deb56143ac0c4e8b6111d216f7d5dcb8cfaffde6fd87082ab/layer.tar
|Found match etc/udhcpd.conf DHCP server configs dhcpd[^ ]*.conf bef3e43d6b12733deb56143ac0c4e8b6111d216f7d5dcb8cfaffde6fd87082ab/layer.tar
Dockerfile:
CMD ["/bin/sh"]
ARG PINPOINT_VERSION=2.5.4
ARG INSTALL_URL=https://github.com/pinpoint-apm/pinpoint/releases/download/v2.5.4/pinpoint-agent-2.5.4.tar.gz
COPY /build/scripts/configure-agent.sh /usr/local/bin/ # buildkit
	usr/
	usr/local/
	usr/local/bin/
	usr/local/bin/configure-agent.sh

RUN |2 PINPOINT_VERSION=2.5.4 INSTALL_URL=https://github.com/pinpoint-apm/pinpoint/releases/download/v2.5.4/pinpoint-agent-2.5.4.tar.gz RUN apk add --update curl bash  \
	&& chmod a+x /usr/local/bin/configure-agent.sh  \
	&& mkdir -p /pinpoint-agent  \
	&& chmod -R o+x /pinpoint-agent  \
	&& curl -SL ${INSTALL_URL} -o pinpoint-agent.tar.gz  \
	&& gunzip pinpoint-agent.tar.gz  \
	&& tar -xf pinpoint-agent.tar --strip 1 -C /pinpoint-agent  \
	&& rm pinpoint-agent.tar  \
	&& apk del curl  \
	&& rm /var/cache/apk/* # buildkit
VOLUME [/pinpoint-agent]
ENTRYPOINT ["/usr/local/bin/configure-agent.sh"]
CMD ["tail" "-f" "/dev/null"]

容器安装命令方式解释

docker run -t --rm -v /var/run/docker.sock:/var/run/docker.sock:ro pegleg/whaler
命令含义
docker run运行一个新容器实例
-t 或 --tty为容器分配一个伪终端,可以 -itd
–rm停止后自动删除,所以docker ps -a查不到对应容器
-v /var/run/docker.sock:/var/run/docker.sock:ro将宿主机守护进程套接字挂载至容器相同位置
pegleg/whaler指定镜像

docker守护进程套接字

docker守护进程套接字是一个unix套接字文件,是docker守护进程(dockerd)监听docker api请求的接口。
docker命令行界面(CLI)和其他docker客户端通过该套接字与守护进程进行通信,执行各种docker命令,如构建镜像、运行管理容器。
在docker容器中,文件系统挂载是指将宿主机文件或目录与容器内相关目录进行关联,使得容器可以直接访问宿主机的内容。


http://www.kler.cn/a/297952.html

相关文章:

  • JVM面试真题总结(五)
  • flutter图片资源加载处理
  • 【鼠鼠学AI代码合集#5】线性代数
  • Flutter框架——2.状态-路由-包-资源
  • centos7.9搭建mysql5.6主从
  • 2024国赛数学建模备赛|30种常用的算法模型之最优算法-层次分析法
  • 打造温馨家居,全屋智能家居解决方案
  • Linux 用户和组的增删改查,用户切换及权限超详细解读
  • Java语言的Netty框架+云快充协议1.5+充电桩系统+新能源汽车充电桩系统源码
  • [项目][WebServer][项目介绍及知识铺垫][上]详细讲解
  • JVM 参数(OpenJDK 11.0.12)
  • [Linux入门]---进程创建和进程等待
  • 双指针(7)_单调性_三数之和
  • 如何看待IBM中国研发部裁员?三个方向快速解析
  • 基于IP子网的VLAN典型配置举例(H3C,其他厂商同理)
  • linux 操作系统下command 命令介绍和使用案例
  • MATLAB与C++参数传递(最完整)
  • 【人工智能学习笔记】4_2 深度学习基础之多层感知机
  • ansible入门
  • modsecurity