我有一个使用
构建的自定义构建的grafana docker镜像 go run build.go build package
一切正常,我从流程(grafana_4.3.0-1490275845pre1_amd64.deb)以及.tar.gz文件和rpm包中获得了deb图像。
使用dockerfile时(基本上是从grafana / grafana-docker复制的):
FROM debian:jessie
COPY ./grafana.deb /tmp/grafana.deb
RUN apt-get update && \
apt-get -y --no-install-recommends install libfontconfig curl ca-certificates && \
apt-get clean && \
dpkg -i --debug=3773 /tmp/grafana.deb && \
rm /tmp/grafana.deb && \
我收到以下错误:
dpkg (subprocess): unable to execute installed post-installation script (/var/lib/dpkg/info/grafana.postinst): No such file or directory
dpkg: error processing package grafana (--install):
subprocess installed post-installation script returned error exit status 2
D000001: ensure_diversions: same, skipping
D000002: fork/exec /var/lib/dpkg/info/systemd.postinst ( triggered /etc/init.d )
D000001: ensure_diversions: same, skipping
Errors were encountered while processing:
grafana
Setting up grafana (4.3.0-1490275845pre1) ...
Processing triggers for systemd (215-17+deb8u6) ...
The command '/bin/sh -c apt-get update && apt-get -y --no-install-recommends install libfontconfig curl ca-certificates && apt-get clean && dpkg -i -- debug=3773 --force-all /tmp/grafana.deb && rm /tmp/grafana.deb && curl -L https://github.com/tianon/gosu/releases/download/1.7/gosu-amd64 > /usr/sbin/gosu && chmod +x /usr/sbin/gosu && apt-get remove -y curl && apt-get autoremove -y && rm -rf /var/lib/apt/lists/*' returned a non-zero code: 1
显而易见的问题是(/var/lib/dpkg/info/grafana.postinst): No such file or directory
,但对dpkg一无所知我真的不知道从哪里开始尝试调试它。据我所知,我没有改变部署脚本,所以我不知道问题出在哪里。
答案 0 :(得分:1)
当我在共享的Windows文件夹上开发Grafana时,Grafana在VirtualBox上的Docker容器中运行,似乎(尽管没有编辑文件)SourceTree或其他东西编辑了源添加Windows新行,这搞砸了包装步骤。我只是使用dos2unix删除换行符,一切都按预期开始工作。
特定的错误消息与postinst文件中的换行有关,我在VM上使用bash手动调试。