最近遇到一个很奇怪的错误,这里记录一下,以备以后再次遇到
bash
Error: Port Library failed to initialize: -86
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
背景是,就是一普通java项目,基础镜像是FROM ibmjava:latest,有一次上线,直接docker-compose up -d ,拉取后竟然报错了?
明明在测试环境测过了啊,看着像是端口问题,但是检查了端口没有被占用,搜索说是ibmjava 虚拟机在AIX上的问题,我不懂AIX是什么。
于是先在生产的另一台机器启动了项目,就没问题,正常启动。
这两台机器的区别是一个是CentOS Linux 8,另一台是CentOS Linux 8 (Core)。docker的版本也有区别,但我直觉这不是问题,因为docker 不就是可以不在乎复杂部署环境吗?
于是我把镜像手动导出导入,像这样
bash
docker save -o centos_jdk.tar centos:latest
docker load -i centos_jdk.tar
哎???正常了,那你说这难道是构建时docker push 丢包了?还是docker pull 丢包了,不会吧,docker 不会计算sum吗?
总之,后来这个问题又在另一个项目上出现了,你知道怎么解决的吗?
1、重新 docker pull了一下。
2、这边重新push,那边也重新pull。
所以这个问题,我至今找不到问题在哪里,如果有大神,请指教下