0%

阿里云部署Docker项目的坑

在阿里云服务器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