在阿里云服务器 CentOS7 上部署一个典型的 SpringBoot + Maven + Docker 项目,一路下来的坑还真不少。
问题概览
从初始化服务器磁盘开始,到安装 maven + jdk8 + docker + docker-compose 等相关环境,再到项目部署,总是会遇到各种地址无法访问
举几个例子:
-
Maven 默认使用的中央仓库地址在阿里云服务器(华北地区)上无法访问,导致依赖无法正常加载;
-
docker-composer 的安装一般是从 GitHub 上拉 release 下来:"https://github.com/docker/compose/releases/tag/1.16.1" ,可是阿里云服务器(华北地区)依然无法访问这个地址,导致 docker-composer 安装失败
-
docker 在进行镜像部署的时候,有时候需要从 dockerhub 上下载依赖镜像(很多时候是需要的),可是阿里云服务器(华北地区)仍然无法访问 dockerhub,导致容器镜像安装失败
请注意,这里加了一个华北地区,因为经过测试,我发现香港地区的阿里云服务器是不存在上述这些问题的
解决办法
首先是环境安装的问题,我是利用自己的脚本: Github: liumapp/install-docker-compose 来完成 docker + docker-composer + jdk8 + maven 环境的安装,安装过程中就会出现服务器无法访问 docker-composer 在 GitHub 上的 release,从而导致 docker-composer 二进制文件的下载失败
我这里用的解决办法比较简单,切换到香港的阿里云 ECS,再去拉 docker-composer 的 release,完了再用 ftp 放到华北地区的 ECS 上...
第二个问题是 Maven 的依赖问题,这个问题之前我总结过 Maven 依赖下载失败的原因及解决方案 ,改用阿里的 Maven 镜像仓库地址即可,具体配置文件位于/opt/maven/conf/settings.xml(如果您也使用我的脚本进行安装的话)
第三个问题是关于 dockerhub 地址无法被访问的问题,这个稍微麻烦点,因为要先去阿里云的后台,配置一个专属的加速器地址,再到/etc/docker/目录下,配置一个 daemon.json 文件,把下述内容加上去:
{
"registry-mirrors" : [
"https://lpikn7jh.mirror.aliyuncs.com"
]
}
上面的值是我个人的加速地址,看官不介意的话拿去用即可
当然,您最后不要忘记重启 docker 和它的守护进程:
systemctl daemon-reload
systemctl restart docker
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于