【发布时间】:2019-08-29 13:13:39
【问题描述】:
我正在尝试将 SSL 证书和密钥添加到 Docker 容器中以在其中使用。我不想使用 COPY Dockerfile 命令,而是使用了“Bind mount a volume”,如下所示
docker run -p 443:443 -v grafana-storage:/var/lib/grafana -v /etc/ssl/certs/platform-loc/x.crt:/etc/grafana/x.crt -v /etc/ssl/certs/platform-loc/x.key:/etc/grafana/x.key -e "GF_INSTALL_PLUGINS=yesoreyeram-boomtable-panel" grafana_app
但是上一个命令失败并出现以下错误
t=2019-08-28T17:33:40+0000 lvl=info msg="HTTP Server Listen" logger=http.server address=0.0.0.0:443 protocol=https subUrl= socket=
t=2019-08-28T17:33:40+0000 lvl=eror msg="Stopped HTTPServer" logger=server reason="open /etc/grafana/x.crt: permission denied"
t=2019-08-28T17:33:40+0000 lvl=info msg="Stopped provisioningServiceImpl" logger=server reason="context canceled"
t=2019-08-28T17:33:40+0000 lvl=eror msg="Server shutdown" logger=server reason="open /etc/grafana/x.crt: permission denied"
这是我的 Dockerfile 的内容
FROM grafana/grafana
COPY config /config
USER root
RUN apt-get update && apt-get install -y vim
RUN cp /config/x.toml /etc/grafana/x.toml &&\
cp /config/grafana.ini /etc/grafana/grafana.ini
ENTRYPOINT [ "/run.sh" ]
有人可以帮我解决这个问题吗?
【问题讨论】:
-
我认为 docker 守护进程无法访问路径 /etc/ssl/certs/platform-loc/x.crt ,尝试使用 sudo 运行 docker ..
-
root应该可以访问这些文件。服务器是否以其他用户身份运行? -
@SoumenMukherjee 我尝试使用 sudo 运行 docker,但没有解决问题:(