code-server 配置maven

我是打算在阿里的轻量服务器上搭建一个code-server,用来自己测试一些简单的java代码。

有些代码依赖了第三方包,需要下载依赖,所以需要给code-server安装maven。

宿主机已经安装好了maven,挂载和环境变量也弄完了,然后在容器终端中执行mvn help:effective-settings,就会报下述的错误:

mvn构建报错,无法下载包。

执行 curl -I https://maven.aliyun.com/repository/public命令,发现

can't resolve maven.aliyun.com ,说明是DNS有问题。

原因:

是因为宿主机的域名服务器是阿里云内部地址,容器启动后的环境中继承使用了这个内部地址,所以当然是无法解析域名。所以需要修改docker的DNS配置,让所有容器都不要继承使用内部nameserver,而改用外部地址,如223.5.5.5和8.8.8.8

修改方式:

bash 复制代码
"dns": [
    "223.5.5.5",
    "8.8.8.8"
  ],
  "dns-search": []

然后重启docker

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl restart docker

同时我也把轻量服务器的防火墙UDP53端口也打开了,AI说是DNS的端口

BTW:

下图是我docker-compose的配置文件,如果在这里加入的dns的配置,是无效的。因为我这里使用了外部网络,当你的external是为true的话,即使你写明了dns配置也是无效的,因为容器会使用外部网络自己的配置。

相关推荐
从零数据分析1 分钟前
零基础学SQL 23:和上月比总对不上?LAG/LEAD 一步取出上一次(附 4 个模板)
java·数据库·sql·mysql·oracle·sqlite·database
帷幕落秋8 分钟前
Linux 网络基础
linux
yuzhiboyouye14 分钟前
com.fasterxml.jackson.annotation 里最常用高频的注解,可以按“控制字段、控制格式、控制结构、控制流程”来记
java·开发语言
高晶16 分钟前
ARM 嵌入式 Linux 命令系统 BusyBox 实战指南
linux·设计模式·程序员
苜蓿muxu24 分钟前
简述 ConcurrentHashMap 和 CopyOnWriteArrayList 的区别以及各自适用场景
java·编程语言
9527!到!30 分钟前
Springboot @value读取配置参数踩坑&推荐解决方案
java·spring boot·spring
十年Java程序媛39 分钟前
Java 面试常问 this、super:构造方法调用顺序避坑
java·开发语言·spring boot·面试·个人开发
337801 小时前
5分钟搞懂Spring的IoC和Bean管理
java
学到老活到老1 小时前
类已经加载了,为什么静态代码还没执行?
java·jvm
学到老活到老1 小时前
写了 new,就一定会在堆上分配对象吗?
java·jvm