• 【Docker】Linux下Docker 部署一个SpringBoot项目的完整流程(通俗易懂,简单上手!!)


    目录

    首先在Linux系统下安装 Docker 和 Docker Compose

    1、安装Docker

    2、将当前用户添加到 Docker 用户组

    3、安装 Docker Compose

    4、验证安装

    部署SpringBoot项目

    1、安装 Docker 和 Docker Compose

    2、编写 Dockerfile

    3、构建 Docker 镜像

    4、启动容器

    5、查看容器状态

    6、访问应用程序


    首先在Linux系统下安装 Docker 和 Docker Compose

    1、安装Docker

    • 在 Linux 系统上安装 Docker,可以通过官方脚本来进行安装。运行以下命令以下载并运行官方安装脚本:
    1. curl -fsSL https://get.docker.com -o get-docker.sh
    2. sudo sh get-docker.sh

    这将会自动下载并运行官方安装脚本。在安装过程中,可能需要输入管理员密码。

    2、将当前用户添加到 Docker 用户组

    • 默认情况下,只有 root 用户才能使用 Docker 命令。为了避免每次都需要使用 sudo 来运行 Docker 命令,我们可以把当前用户添加到 Docker 用户组中。运行以下命令即可将当前用户添加到 Docker 用户组中:
    sudo usermod -aG docker $(whoami)

    3、安装 Docker Compose

    • 在 Linux 系统上安装 Docker Compose,可以通过官方脚本来进行安装。运行以下命令以下载并运行官方安装脚本:
    sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

    4、验证安装

    • 安装完成后,可以使用以下命令来验证 Docker 和 Docker Compose 是否安装成功:
    1. docker --version
    2. docker-compose --version

    如果正常的话,这将会显示 Docker 和 Docker Compose 的版本信息。

    部署SpringBoot项目

    1、安装 Docker 和 Docker Compose

    • 上面已说明步骤,如有一文可以自行搜索更详细步骤或是查阅官方文档

    2、编写 Dockerfile

    • 在项目根目录下创建一个名为 Dockerfile 的文件,内容如下:
    1. FROM openjdk:11-jdk
    2. COPY target/myproject.jar /app/myproject.jar
    3. WORKDIR /app
    4. EXPOSE 8080
    5. CMD ["java", "-jar", "myproject.jar"]

    3、构建 Docker 镜像

    • 进入项目根目录,运行以下命令构建 Docker 镜像:
    docker build -t myproject .

    这将会根据 Dockerfile 中的指令构建一个名为 myproject 的镜像。

    构建成功后,你将会看到类似如下输出:

    1. Sending build context to Docker daemon 10.7MB
    2. Step 1/5 : FROM openjdk:11-jdk
    3. ---> 22e10a343fd5
    4. Step 2/5 : COPY target/myproject.jar /app/myproject.jar
    5. ---> 4ffeb02e78ad
    6. Step 3/5 : WORKDIR /app
    7. ---> Running in e82ebd8b5809
    8. Removing intermediate container e82ebd8b5809
    9. ---> 6c54a211b331
    10. Step 4/5 : EXPOSE 8080
    11. ---> Running in b1af8f51e3a1
    12. Removing intermediate container b1af8f51e3a1
    13. ---> 788d0678d17d
    14. Step 5/5 : CMD ["java", "-jar", "myproject.jar"]
    15. ---> Running in 7a95569ebbc4
    16. Removing intermediate container 7a95569ebbc4
    17. ---> 5ed59d148327
    18. Successfully built 5ed59d148327
    19. Successfully tagged myproject:latest

    4、启动容器

    • 运行以下命令启动一个容器,将宿主机的 8080 端口映射到容器的 8080 端口:
    docker run -d -p 8080:8080 --name mycontainer myproject

            这将会在后台运行一个名为 mycontainer 的容器,并将宿主机的 8080 端口映射到容器的 8080 端口。

            启动成功后没有输出结果。

    5、查看容器状态

    • 运行以下命令来查看容器的状态:
    docker ps

    如果一切正常,你应该能够看到 mycontainer 容器正在运行。输出结果类似下面这样:

    1. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    2. 7859eefcfc76 myproject "java -jar myproject…" 31 seconds ago Up 28 seconds 0.0.0.0:8080->8080/tcp mycontainer

    6、访问应用程序

    • 在浏览器中输入 http://localhost:8080 并回车,如果应用程序成功启动了,你将会看到应用程序的欢迎页面。

    最后,通过访问 http://localhost:8080 来访问你的 Spring Boot 应用程序。

  • 相关阅读:
    算法-次数差
    代码复现——在eclipse里运行gradle项目
    nacos核心概念一篇速过
    计算机组成原理——基础入门总结(二)
    PHP生成pdf格式准考证带照片完整示范
    7-用户输入和while循环
    叶酸PEG叶酸,FA-PEG-FA
    网络语言错误是指在编程中出现的错误或故障,导致程序无法正常运行或产生意外的结果
    盒子模型——边框,以及便捷写法和边框合并
    【C++】重载cout和cin
  • 原文地址:https://blog.csdn.net/miles067/article/details/132775374