Docker 是一个开源的容器化平台,它让应用程序的打包、分发和运行变得简单高效。与传统虚拟机相比,Docker 更轻量、更快速,资源占用更少。
👉 官方下载安装地址
# 更新软件包
sudo apt update
# 安装依赖包
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
# 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 添加 Docker 源
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# 安装 Docker
sudo apt update
sudo apt install -y docker-ce
# 检查 Docker 是否安装成功
sudo systemctl status docker# 拉取镜像
docker pull 镜像名
# 查看已有镜像
docker images
# 删除镜像
docker rmi 镜像ID# 运行容器
docker run -d --name 容器名 镜像名
# 查看运行中的容器
docker ps
# 查看所有容器(包括停止的)
docker ps -a
# 停止容器
docker stop 容器ID/容器名
# 删除容器
docker rm 容器ID/容器名# 查看容器日志
docker logs 容器名
# 进入容器内部
docker exec -it 容器名 /bin/bash
# 查看 Docker 资源占用
docker statsDocker Compose 允许我们用 docker-compose.yml 文件编排多个容器,一键启动。
1️⃣ 创建目录与配置文件
mkdir springboot-docker && cd springboot-docker创建 docker-compose.yml 文件,内容如下:
version: '3'
services:
mysql:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: demo_db
ports:
- "3306:3306"
redis:
image: redis:latest
ports:
- "6379:6379"
app:
image: openjdk:17
depends_on:
- mysql
- redis
volumes:
- ./app:/app
working_dir: /app
command: ["java", "-jar", "springboot-demo.jar"]
ports:
- "8080:8080"2️⃣ 创建Spring Boot项目 在 app 文件夹里放入你的 Spring Boot 项目打包好的 springboot-demo.jar 文件。
3️⃣ 启动项目
docker-compose up -d浏览器访问 http://localhost:8080,成功看到Spring Boot页面🎉!
docker-compose down如果需要自定义镜像,可以用 Dockerfile 完成。
示例:创建一个简单的 Spring Boot 服务
1️⃣ 创建项目目录与Dockerfile
mkdir java-docker && cd java-docker创建 Dockerfile 文件:
FROM openjdk:17-jdk-slim
COPY springboot-demo.jar /app/springboot-demo.jar
WORKDIR /app
EXPOSE 8080
CMD ["java", "-jar", "springboot-demo.jar"]2️⃣ 构建镜像
docker build -t springboot-app .3️⃣ 运行容器
docker run -d -p 8080:8080 springboot-app访问 http://localhost:8080 查看结果 🎉!
通过本篇教程,我们完成了从 Docker 安装到镜像管理、容器操作、Compose 编排、自定义镜像的完整流程,还特别加上了 Java 项目环境 部署示例(Spring Boot + MySQL + Redis),让你的开发环境从此再无“在我机子上能跑”的尴尬!