centos下docker安装及springboot远程发布docker的方法

安装docker的方法

  1. 安装Docker
    CentOS 7的默认镜像源没有包含Docker组件,因此需要手动安装。Docker仓库提供了一个安装脚本,只需输入以下命令:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 \
&& sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo \
&& sudo yum makecache fast \
&& sudo yum install docker-ce
  1. 启动Docker服务
sudo systemctl start docker

将Docker服务设置为开机自启:

sudo systemctl enable docker
  1. Docker-compose
    为了更好的管理多个容器,我们需要安装docker compose

推荐的安装方法是从GitHub下载最新的二进制文件,并将其链接到/usr/local/bin:

VERSION=`curl https://github.com/docker/compose/releases/latest | grep -oP "(?<=tag/)[^>\"]+"`
sudo curl -L "https://github.com/docker/compose/releases/download/${VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

关于springboot远程发布docker

  1. 使用Maven构建Docker镜像

在Spring Boot项目根目录下添加Dockerfile文件:

FROM java:8
VOLUME /tmp
ADD demo-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

在pom.xml文件中添加相关插件:

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.12</version>
<configuration>
<imageName>demo</imageName>
<dockerDirectory>src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>

然后在终端中输入以下命令来构建Docker镜像:

mvn clean package docker:build
  1. 推送到Docker仓库

使用以下命令将构建好的镜像推送到Docker仓库:

docker tag demo [username]/demo:latest
docker push [username]/demo:latest
  1. 远程部署
    在远程服务器上运行以下命令来部署项目:
docker pull [username]/demo:latest
docker run -d -p 8080:8080 --name demo [username]/demo:latest

示例一

  1. 在CentOS中安装Docker

在CentOS中安装Docker,详见上文中的安装步骤。

  1. 制作Docker镜像

在Spring Boot项目根目录下添加Dockerfile文件,然后在终端中输入以下命令来构建Docker镜像:

mvn clean package docker:build
  1. 推送到Docker仓库

使用以下命令将构建好的镜像推送到Docker仓库:

docker tag demo [username]/demo:latest
docker push [username]/demo:latest
  1. 远程部署

在远程服务器上运行以下命令来部署项目:

docker pull [username]/demo:latest
docker run -d -p 8080:8080 --name demo [username]/demo:latest

示例二

  1. 在CentOS中安装Docker

在CentOS中安装Docker,详见上文中的安装步骤。

  1. 制作Docker镜像

在Spring Boot项目根目录下添加Dockerfile文件,然后在终端中输入以下命令来构建Docker镜像:

mvn clean package docker:build
  1. 推送到Docker仓库

使用以下命令将构建好的镜像推送到Docker仓库:

docker tag demo [username]/demo:latest
docker push [username]/demo:latest
  1. 远程部署

在远程服务器上运行以下命令来部署项目:

docker pull [username]/demo:latest
docker run -d -p 8090:8090 --name demo [username]/demo:latest

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:centos下docker安装及springboot远程发布docker的方法 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • 详解基于mpvue微信小程序下载远程图片到本地解决思路

    接下来我将详细讲解如何基于mpvue微信小程序下载远程图片到本地解决思路。 1. 问题背景 在使用mpvue开发微信小程序的过程中,我们经常会遇到下载远程图片到本地的需求。但mpvue的模板语法中并没有提供类似Vue.js的v-html指令,因此出现了不能直接将远程图片显示在页面上的情况。 2. 解决思路 mpvue提供的解决思路是通过wx.download…

    Java 2023年5月23日
    00
  • Mybatis中的高级映射一对一、一对多、多对多

    下面我就为你详细讲解Mybatis中的高级映射一对一、一对多、多对多的攻略。 一对一映射 一对一映射指的是两个实体类之间的一对一关系,通常情况下是通过外键关联的。在Mybatis中,我们可以使用resultMap嵌套resultMap来实现一对一映射。 首先,我们需要创建两个Java Bean类,分别为用户(User)和身份证(Identity)类。这两个类…

    Java 2023年5月20日
    00
  • JDBC工具类实现登录功能

    以下是“JDBC工具类实现登录功能”的完整攻略: 1. 什么是JDBC工具类 JDBC是Java Database Connectivity的缩写,是Java标准中用于操作关系型数据库的API。JDBC提供了一组用于连接数据库、执行SQL语句和处理结果集的类和接口。为了方便使用JDBC,我们可以创建一个JDBC工具类,该类提供了一组常用的方法,封装了JDBC…

    Java 2023年5月20日
    00
  • 详解Struts2拦截器机制

    详解Struts2拦截器机制 1. 什么是Struts2拦截器 Struts2拦截器是一个非常重要的组件,用于对请求进行拦截和处理,同时也是整个Struts2框架的核心。 在Struts2中,每个请求都会经过多个拦截器的处理,每个拦截器只是完成了部分工作,多个拦截器组合在一起,最终完成了一个完整的请求处理流程。 2. Struts2拦截器机制的流程 Stru…

    Java 2023年5月20日
    00
  • 什么是Java调试器?

    Java调试器是一种能够帮助Java程序员可靠地查找和修复代码错误和异常的工具。它提供了许多有用的调试功能,如断点、单步执行、变量监视、堆栈跟踪等,能够帮助程序员更好地理解和控制代码的执行过程。下面将详细讲解Java调试器的使用攻略,包括基本概念、使用步骤和使用技巧。 一、基本概念 Java调试器是Java开发工具中的一种插件或独立工具,它可以与Java虚拟…

    Java 2023年5月11日
    00
  • java9新特性Collection集合类的增强与优化方法示例

    Java 9 新特性之 Collection 集合类的增强与优化方法示例 1. Java 9 中的 Collection 接口新方法 Java 9 中为 Collection 接口增加了一些新的方法,下面是一些这些方法的简要说明。 of() 方法 of() 方法可以用来创建不可变集合,可以传入可变数量的参数,返回一个包含指定元素的不可变集合。 示例代码: L…

    Java 2023年5月26日
    00
  • JSP之EL表达式基础详解

    JSP之EL表达式基础详解 什么是EL表达式 EL表达式全称是Expression Language,翻译成中文叫做表达式语言,是一种用于在JSP页面中访问JavaBean中数据的简便方法。EL表达式可以相对简洁地访问各种JavaBean的属性、方法和数组元素,而不必显式地使用Java代码进行操作。通过使用EL表达式,可大大简化JSP页面的代码和逻辑,提高J…

    Java 2023年6月15日
    00
  • JSP中图片的上传与显示方法实例详解

    下面就为大家详细讲解一下“JSP中图片的上传与显示方法实例详解”的完整攻略。 1. 确认上传的文件类型 在上传图片前,我们需要确认上传的文件类型,以防止一些不合法的文件被上传。可以通过以下代码片段实现: String fileName = fileItem.getName(); String extName = fileName.substring(file…

    Java 2023年6月15日
    00
合作推广
合作推广
分享本页
返回顶部