不求人系列:Linux上Docker部署全教程

发布于:2025-02-27 ⋅ 阅读:(15) ⋅ 点赞:(0)

在这里插入图片描述

让我们一起走向未来

🎓作者简介:全栈领域优质创作者
🌐个人主页:百锦再@新空间代码工作室
📞工作室:新空间代码工作室(提供各种软件服务)
💌个人邮箱:[15045666310@163.com]
📱个人微信:15045666310
🌐网站:https://meihua150.cn/
💡座右铭:坚持自己的坚持,不要迷失自己!要快乐


在这里插入图片描述

在这里插入图片描述

步骤 1: 安装 Docker

在这里插入图片描述

首先,确保你的 Linux 系统已经安装 Docker。如果没有安装,请执行以下命令:

对于 Ubuntu/Debian 系统:
sudo apt-get update
sudo apt-get install -y docker.io
sudo systemctl enable --now docker
对于 CentOS/RHEL 系统:
sudo yum install -y docker
sudo systemctl start docker
sudo systemctl enable docker
验证安装:
docker --version

步骤 2: 准备 Java 应用程序

在这里插入图片描述
确保你已经打包好你的 Java 应用程序,通常是 .jar 文件。你可以使用 Maven 或 Gradle 打包你的应用。

使用 Maven 打包:
mvn clean package

这会在 target/ 目录下生成一个 .jar 文件。

使用 Gradle 打包:
gradle build

步骤 3: 创建 Dockerfile

在这里插入图片描述
在项目根目录下创建一个 Dockerfile,用于构建 Docker 镜像。以下是一个简单的 Dockerfile 示例,假设你的 .jar 文件名为 my-app.jar

# 使用官方 OpenJDK 作为基础镜像
FROM openjdk:11-jre-slim

# 设置工作目录
WORKDIR /app

# 将打包好的 JAR 文件复制到容器中
COPY target/my-app.jar /app/my-app.jar

# 设置容器启动时执行的命令
ENTRYPOINT ["java", "-jar", "/app/my-app.jar"]

# 声明容器的端口
EXPOSE 8080

步骤 4: 构建 Docker 镜像

在这里插入图片描述
在终端中进入项目根目录,然后使用 docker build 命令构建 Docker 镜像。

docker build -t my-java-app .

这条命令将使用当前目录下的 Dockerfile 文件构建名为 my-java-app 的镜像。

步骤 5: 运行 Docker 容器

在这里插入图片描述
使用 docker run 命令启动应用程序容器。你需要指定映射的端口、容器名称等配置。

docker run -d -p 8080:8080 --name java-container my-java-app
  • -d:后台运行容器。
  • -p 8080:8080:将宿主机的 8080 端口映射到容器的 8080 端口。
  • --name java-container:容器的名称。
  • my-java-app:运行的镜像名称。

步骤 6: 验证容器是否运行成功

在这里插入图片描述
验证应用是否正常运行,可以通过访问容器的端口来确认。如果容器正常运行,浏览器中访问 http://<your-ip>:8080 应该能够看到应用的响应。

curl http://localhost:8080

如果容器正常工作,应该能够收到 HTTP 响应。

步骤 7: Docker 容器管理

在这里插入图片描述

查看容器状态:
docker ps
查看容器日志:
docker logs java-container
停止容器:
docker stop java-container
删除容器:
docker rm java-container
删除镜像:
docker rmi my-java-app

步骤 8: 配置 Docker 启动时自动启动

在这里插入图片描述
如果希望容器在 Docker 服务重启时自动启动,可以通过 --restart 标志进行配置。以下命令可以配置容器在 Docker 服务重启时自动启动:

docker run -d -p 8080:8080 --name java-container --restart always my-java-app

其他配置和设置

配置 Docker 网络

有时,你可能需要将容器加入到特定的 Docker 网络中。创建网络并将容器连接到该网络:

docker network create my-network
docker run -d --network my-network -p 8080:8080 --name java-container my-java-app
配置持久化存储

如果你的应用需要持久化数据(例如数据库文件或日志),可以挂载宿主机目录到容器中:

docker run -d -p 8080:8080 -v /host/path/to/log:/app/log --name java-container my-java-app
配置环境变量

你可以通过 -e 参数设置环境变量:

docker run -d -p 8080:8080 -e ENV_VAR_NAME=value --name java-container my-java-app

总结

在这里插入图片描述
在 Linux 上使用 Docker 部署 OpenJDK 应用程序的流程包括从安装 Docker 到配置容器的各个步骤。关键操作包括构建 Docker 镜像、运行容器、暴露端口,以及管理容器的生命周期。你可以根据实际需求,调整 Docker 配置,例如挂载卷、设置环境变量等。

在这里插入图片描述