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配置也是无效的,因为容器会使用外部网络自己的配置。

相关推荐
Sirens.10 小时前
Java并发锁详解:六类锁策略与 synchronized 底层原理
java·前端·算法
程序员-Benothing10 小时前
Shell输入输出详解:read、echo、printf、颜色输出
linux·运维·服务器
FPGA小徐11 小时前
从 NEMU 到 AbstractMachine:程序、运行时环境与 AM 完全解析
linux·运维·服务器
sunshine22 girl11 小时前
Java学习五 面向对象高级5 内部类1
java·学习
qetfw12 小时前
Debian Chrony 时间同步、RAID5 与 LUKS 磁盘加密配置
linux·debian
用户13051807121512 小时前
JDBC学习DAY2:从Statement到PreparedStatement
java
蛋蛋的就会顺顺的13 小时前
hot100——矩阵
java·数据结构·算法·leetcode·力扣
周杰偷奶茶13 小时前
【Java】数组的定义和使用(附管理系统实战案例)
java·开发语言
橙子圆12314 小时前
JUC之集合类不安全
java·开发语言
东城居士15 小时前
Linux驱动阻塞与非阻塞访问的理解
linux·嵌入式系统