一次失败的Grafana容器迁移-docker容器的导入导出

假如想象 提交于 2019-11-27 13:41:33

通过将容器导入为本地文件,然后文件在另一个容器主机上导入为镜像,然后再通过镜像运行容器

前边都比较顺利,在最后的运行启动容器时无法成功,容器为exit状态,问题可能出在并没完全按照Grafana提示的文档说明进行配置,但未能找到问题根源

more information here:http://docs.grafana.org/installation/docker/#migration-from-a-previous-version-of-the-docker-container-to-5-1-or-later

查看容器状态

docker ps -a
CONTAINER ID        IMAGE                   COMMAND                CREATED             STATUS              PORTS                                                            NAMES
efe2f7b6ec57        grafana/grafana         "/run.sh"              3 weeks ago         Up 2 weeks          0.0.0.0:3000->3000/tcp                                           grafana

导出容器到文件


docker export -o grafana.tar efe2f7b6ec57

~# ls
grafana.tar

容器文件导入到镜像


docker import grafana.tar grafana/grafana
sha256:a9231f0cf58e1d695c8338a942ef09cc3e84c6edaf9368e82a2f218a56c58d48

查看本地镜像

docker images
REPOSITORY          TAG                 IMAGE ID            CREATED              SIZE
grafana/grafana     latest              a9231f0cf58e        42 seconds ago       252MB
urbackup/urbackup   latest              b39862c2049a        About a minute ago   157MB

通过镜像运行启动容器

docker run -p 3000:3000 -v /mnt/grafana:/var/lib/grafana --name=grafana -d grafana/grafana /run.sh
3e68cb446cfc7b2d2c115066da22f9823d46936518c61fcc3aed8570cc0000fd

通过以上方式运行容器,发现并未正常运行,查看容器log

# docker logs 19a8d5f27bd3 
mkdir: cannot create directory '': No such file or directory
GF_PATHS_CONFIG='' is not readable.
GF_PATHS_DATA='' is not writable.
GF_PATHS_HOME='' is not readable.
You may have issues with file permissions, more information here: http://docs.grafana.org/installation/docker/#migration-from-a-previous-version-of-the-docker-container-to-5-1-or-later


查看源服务器上容器配置的环境变量

            "Env": [
                "PATH=/usr/share/grafana/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "GF_PATHS_CONFIG=/etc/grafana/grafana.ini",
                "GF_PATHS_DATA=/var/lib/grafana",
                "GF_PATHS_HOME=/usr/share/grafana",
                "GF_PATHS_LOGS=/var/log/grafana",
                "GF_PATHS_PLUGINS=/var/lib/grafana/plugins",
                "GF_PATHS_PROVISIONING=/etc/grafana/provisioning"

依据报错log的提示,重新通过镜像运行容器,同时指定环境变量

docker run -p 3000:3000 --user root \
-e "GF_PATHS_CONFIG=/etc/grafana/grafana.ini" \
-e "GF_PATHS_DATA=/var/lib/grafana" \
-e "GF_PATHS_HOME=/usr/share/grafana" \
-v /mnt/grafana:/var/lib/grafana --name=grafana -d grafana/grafana /run.sh

结果,容器依然无法启动,查看docker logs报错,目前没有找到解决方法,不太理解这个mkdir该如何执行

docker logs 508fb48544d6
mkdir: cannot create directory '': No such file or director

To be continue …

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!