Ubuntu(20.04/22.04/24.04)国内环境一键安装 Docker、JDK17 和 Maven

文章目录

  • [Ubuntu(20.04/22.04/24.04)国内环境一键安装 Docker、JDK17 和 Maven](#Ubuntu(20.04/22.04/24.04)国内环境一键安装 Docker、JDK17 和 Maven)
  • [一、安装 Docker](#一、安装 Docker)
    • [1. 安装 Docker](#1. 安装 Docker)
    • [2. 配置国内镜像加速](#2. 配置国内镜像加速)
    • [3. 设置开机启动](#3. 设置开机启动)
    • [4. 配置当前用户免 sudo](#4. 配置当前用户免 sudo)
    • [5. 验证安装](#5. 验证安装)
  • [二、安装 JDK17](#二、安装 JDK17)
    • [配置 JAVA_HOME](#配置 JAVA_HOME)
  • [三、安装 Maven](#三、安装 Maven)
    • [1. 通过 APT 安装](#1. 通过 APT 安装)
    • [2. 配置阿里云 Maven 镜像](#2. 配置阿里云 Maven 镜像)
  • 四、环境验证
    • [检查 Docker](#检查 Docker)
    • [检查 Java](#检查 Java)
    • [检查 Maven](#检查 Maven)
  • 五、一键安装脚本

Ubuntu(20.04/22.04/24.04)国内环境一键安装 Docker、JDK17 和 Maven

在国内服务器或开发环境中,经常会遇到软件源下载慢、Docker 镜像拉取失败等问题。本文整理了 Ubuntu 环境下安装 Docker、JDK17 和 Maven 的完整流程,并配置国内加速源。


一、安装 Docker

1. 安装 Docker

首先安装 curl:

bash 复制代码
sudo apt update
sudo apt install -y curl

执行 Docker 官方安装脚本:

bash 复制代码
curl -fsSL https://get.docker.com | bash

安装完成后查看版本:

bash 复制代码
docker --version

输出示例:

text 复制代码
Docker version 28.x.x

2. 配置国内镜像加速

创建 Docker 配置目录:

bash 复制代码
sudo mkdir -p /etc/docker

创建配置文件:

bash 复制代码
sudo tee /etc/docker/daemon.json > /dev/null <<EOF
{
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://dockerproxy.com"
  ]
}
EOF

重启 Docker:

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

查看是否生效:

bash 复制代码
docker info

输出中看到:

text 复制代码
Registry Mirrors:
 https://docker.1ms.run/

说明镜像加速配置成功。


3. 设置开机启动

bash 复制代码
sudo systemctl enable docker
sudo systemctl start docker

查看运行状态:

bash 复制代码
sudo systemctl status docker

4. 配置当前用户免 sudo

将当前用户加入 Docker 用户组:

bash 复制代码
sudo usermod -aG docker $USER

立即生效:

bash 复制代码
newgrp docker

测试:

bash 复制代码
docker ps

5. 验证安装

运行测试容器:

bash 复制代码
docker run hello-world

看到如下输出即表示安装成功:

text 复制代码
Hello from Docker!

二、安装 JDK17

目前大部分 Spring Boot 3.x 项目推荐使用 JDK17。

更新软件源:

bash 复制代码
sudo apt update

安装 OpenJDK 17:

bash 复制代码
sudo apt install -y openjdk-17-jdk

查看版本:

bash 复制代码
java -version

输出示例:

text 复制代码
openjdk version "17.0.17"

查看编译器版本:

bash 复制代码
javac -version

输出:

text 复制代码
javac 17.0.17

配置 JAVA_HOME

查看 JDK 安装路径:

bash 复制代码
readlink -f $(which java)

例如输出:

text 复制代码
/usr/lib/jvm/java-17-openjdk-amd64/bin/java

编辑环境变量:

bash 复制代码
sudo vim /etc/profile

末尾添加:

bash 复制代码
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

生效:

bash 复制代码
source /etc/profile

验证:

bash 复制代码
echo $JAVA_HOME

三、安装 Maven

1. 通过 APT 安装

直接安装:

bash 复制代码
sudo apt install -y maven

验证:

bash 复制代码
mvn -v

输出示例:

text 复制代码
Apache Maven 3.8.x
Java version: 17.x.x

2. 配置阿里云 Maven 镜像

创建 Maven 配置目录:

bash 复制代码
mkdir -p ~/.m2

创建配置文件:

bash 复制代码
vim ~/.m2/settings.xml

内容如下:

xml 复制代码
<settings>
  <mirrors>
    <mirror>
      <id>aliyun</id>
      <mirrorOf>*</mirrorOf>
      <name>Aliyun Maven</name>
      <url>https://maven.aliyun.com/repository/public</url>
    </mirror>
  </mirrors>
</settings>

验证:

bash 复制代码
mvn help:effective-settings

看到阿里云仓库地址说明配置成功。


四、环境验证

检查 Docker

bash 复制代码
docker --version
docker run hello-world

检查 Java

bash 复制代码
java -version
javac -version

检查 Maven

bash 复制代码
mvn -v

输出类似:

text 复制代码
Apache Maven 3.8.x
Maven home: /usr/share/maven
Java version: 17.x.x
OS name: linux

五、一键安装脚本

如果是全新 Ubuntu 环境,可以直接执行:

bash 复制代码
sudo apt update && \
sudo apt install -y curl openjdk-17-jdk maven && \
curl -fsSL https://get.docker.com | bash && \
sudo mkdir -p /etc/docker && \
echo '{"registry-mirrors":["https://docker.1ms.run","https://dockerproxy.com"]}' | sudo tee /etc/docker/daemon.json && \
sudo systemctl daemon-reload && \
sudo systemctl restart docker && \
sudo systemctl enable docker

安装完成后验证:

bash 复制代码
docker --version
java -version
mvn -v

至此,一个适用于 Java/Spring Boot、Docker 容器化部署、微服务开发 的 Ubuntu 开发环境就搭建完成了。

提示:更多内容可以访问Clang's Blog:https://www.clang.asia

相关推荐
阿钱真强道10 小时前
22 嵌入式操作系统 | 串口命令行调试(socat / stty / printf / hexdump)
ubuntu·cmake·uci·ubus·libubox
无序的浪11 小时前
测试博客-基于微服务的在线判题系统
java·spring cloud·docker·微服务·测试·在线判题
溜达的大象15 小时前
极空间部署Traggo时间追踪工具:Docker安装、标签管理与cpolar远程访问
运维·docker·容器
承渊政道16 小时前
Linux系统学习【进程信号详细解析——认识、产生、保存以及捕捉信号】
linux·学习·ubuntu·ssh·vs code·进程信号
脏脏a16 小时前
极空间部署 Dashlet:Docker 搭建私人导航仪表盘,再配置固定公网访问
运维·docker·容器
User_芊芊君子16 小时前
Prometheus接入Pushgateway实战:二进制与Docker部署、指标推送及远程上报
docker·容器·prometheus
databook17 小时前
手把手带你走一遍:机器学习模型如何用FastAPI和Docker部署
python·docker·fastapi
牢姐与蒯18 小时前
Linux信号(一).信号产生
linux·运维·服务器·ubuntu
江湖有缘18 小时前
3款开源日记工具整理合集,可Docker一键部署!
docker·容器·开源
EatFans1 天前
Docker 实战部署:从本地镜像到云服务器,一篇走通 FastAPI + Celery + MySQL + Redis + Nginx
docker·fastapi