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容器中,文件系统挂载是指将宿主机文件或目录与容器内相关目录进行关联,使得容器可以直接访问宿主机的内容。

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值