原创

Docker 和 JDK 一键安装指南(全平台)

根据你的操作系统选择安装方式

Linux 系统安装(Ubuntu/CentOS)

方法1:一键安装脚本(推荐)

使用ssh连接到服务器,输入以下命令

# 下载并执行安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# 安装JDK 17(Ubuntu/Debian)
sudo apt update
sudo apt install -y openjdk-17-jdk

# 安装JDK 17(CentOS/RHEL)
sudo yum install -y java-17-openjdk-devel

# 验证安装
docker --version
java -version

方法2:分步安装

# Ubuntu/Debian 系统
# 1. 更新包索引
sudo apt update

# 2. 安装依赖
sudo apt install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

# 3. 添加Docker官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 4. 添加Docker仓库
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 5. 安装Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

# 6. 启动Docker并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker

# 7. 将当前用户加入docker组(避免每次sudo)
sudo usermod -aG docker $USER
# 需要重新登录或执行:
newgrp docker

# 8. 安装JDK 17
sudo apt install -y openjdk-17-jdk

# 9. 验证安装
docker --version
java -version


macOS 系统安装

方法1:使用 Homebrew(推荐)

# 1. 安装Homebrew(如果未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 2. 安装Docker Desktop
brew install --cask docker

# 3. 安装OpenJDK 17
brew install openjdk@17

# 4. 配置Java环境变量
echo 'export PATH="/usr/local/opt/openjdk@17/bin:$PATH"' >> ~/.zshrc
echo 'export JAVA_HOME="/usr/local/opt/openjdk@17"' >> ~/.zshrc
source ~/.zshrc

# 5. 启动Docker Desktop
# 在Launchpad中找到Docker并启动,或使用:
open /Applications/Docker.app

# 6. 验证安装
docker --version
java -version

方法2:手动下载安装

  1. Docker Desktop:访问 Docker官网下载macOS版本(Intel芯片或Apple Silicon)双击.dmg文件安装
  2. JDK 17:bash# 使用Homebrew安装 brew install openjdk@17 # 或从官网下载: # https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html


Windows 系统安装

方法1:Docker Desktop + JDK(推荐)

步骤1:安装Docker Desktop

  1. 访问 Docker官网
  2. 下载 Windows 版本
  3. 根据向导安装(需要开启WSL2或Hyper-V)

步骤2:安装JDK 17

打开powershell,输入以下命令:

# 方法A:使用Windows Package Manager(winget)
winget install EclipseAdoptium.Temurin.17.JDK

# 方法B:手动下载安装
# 1. 访问:https://adoptium.net/temurin/releases/
# 2. 下载 Windows x64 MSI 安装包
# 3. 运行安装程序

# 方法C:使用Chocolatey(需要先安装Chocolatey)
choco install openjdk17

步骤3:配置环境变量

# 以管理员身份打开PowerShell
# 设置JAVA_HOME(根据实际安装路径修改)
[Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Program Files\Eclipse Adoptium\jdk-17.0.8.7-hotspot", "Machine")
[Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\Program Files\Eclipse Adoptium\jdk-17.0.8.7-hotspot\bin", "Machine")

# 重启PowerShell验证
java -version

方法2:使用WSL2(Linux子系统)

# 1. 在Windows中安装WSL2
wsl --install

# 2. 启动Ubuntu子系统
# 然后按照上面的Linux安装步骤操作

# 3. 在WSL中安装Docker和JDK
sudo apt update
sudo apt install -y docker.io openjdk-17-jdk

# 4. 配置Docker与Windows Docker Desktop集成
# 在Docker Desktop设置中启用WSL2集成


验证安装是否成功

Docker验证

# 检查Docker版本
docker --version

# 运行测试容器
docker run hello-world

# 查看Docker信息
docker info

# 查看运行中的容器
docker ps

JDK验证

# 检查Java版本
java -version

# 检查Java编译器
javac -version

# 查看JAVA_HOME环境变量
echo $JAVA_HOME  # Linux/macOS
echo %JAVA_HOME% # Windows

完整环境测试

# 创建测试SpringBoot项目
cat > TestApp.java << 'EOF'
public class TestApp {
    public static void main(String[] args) {
        System.out.println("✅ Java环境正常!");
        System.out.println("Java版本: " + System.getProperty("java.version"));
        System.out.println("准备测试Docker...");
    }
}
EOF

# 编译和运行
javac TestApp.java
java TestApp


Docker国内镜像加速配置

Linux/macOS

# 创建或编辑Docker配置
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF

# 重启Docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker

Windows Docker Desktop

  1. 右键点击系统托盘Docker图标
  2. 选择 "Settings" → "Docker Engine"
  3. 修改配置并点击 "Apply & Restart":
  4. json串
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com"
  ]
}


可选工具安装

1. Docker Compose(Linux)

# 下载Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 添加执行权限
sudo chmod +x /usr/local/bin/docker-compose

# 验证安装
docker-compose --version

2. Maven(用于构建Java项目)

# Linux/macOS
wget https://dlcdn.apache.org/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.tar.gz
tar -xzf apache-maven-3.9.6-bin.tar.gz
sudo mv apache-maven-3.9.6 /opt/
echo 'export PATH="/opt/apache-maven-3.9.6/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

# Windows
# 下载:https://maven.apache.org/download.cgi
# 解压并添加bin目录到PATH


常见问题解决

1. Docker权限问题(Linux)

# 错误:Got permission denied while trying to connect to the Docker daemon socket

# 解决方案:
sudo usermod -aG docker $USER
newgrp docker  # 或重新登录

2. 端口被占用

# 查看占用8080端口的进程
sudo lsof -i :8080  # Linux/macOS
netstat -ano | findstr :8080  # Windows

# 停止占用进程或修改应用端口

3. 镜像拉取慢

# 使用国内镜像源
docker pull registry.cn-hangzhou.aliyuncs.com/library/hello-world:latest

4. 内存不足

# 限制Docker资源使用
docker run -d --memory="512m" --memory-swap="1g" your-image


安装检查清单

组件检查命令期望结果
Dockerdocker --version显示版本号
Docker服务docker run hello-world成功运行
Javajava -versionJDK 17+
编译器javac -version显示版本
网络docker pull alpine成功下载
构建docker build .能执行构建


快速测试部署

完成安装后,立即测试你的环境:

# 1. 创建测试项目
mkdir docker-test && cd docker-test

# 2. 创建Dockerfile
cat > Dockerfile << 'EOF'
FROM openjdk:17-alpine
COPY . /app
WORKDIR /app
RUN echo 'public class Test { public static void main(String[] args) { System.out.println("Docker+Java测试成功!"); } }' > Test.java
RUN javac Test.java
CMD ["java", "Test"]
EOF

# 3. 构建并运行
docker build -t test-app .
docker run test-app

如果看到 "Docker+Java测试成功!",恭喜你环境配置完成!🎉


正文到此结束
本文目录