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日

相关文章

  • Java Class 加密工具 ClassFinal详解

    Java Class 加密工具 ClassFinal详解 什么是Java Class 加密工具 Java Class 加密工具是一种将Java类文件加密的工具,可以防止被反编译得到源代码,保护Java应用程序的安全性和商业机密。 ClassFinal的使用 ClassFinal是一款免费的Java Class加密工具,支持图形界面和命令行两种方式进行操作。 …

    Java 2023年5月26日
    00
  • SpringMVC 接收前端传递的参数四种方式小结

    下面我将为你详细讲解“SpringMVC 接收前端传递的参数四种方式小结”的攻略。 一、前言 在 SpringMVC 框架中,接收前端传递的参数是非常常见的操作,而我们可以通过以下四种方式来实现参数接收: URL传参 表单提交 请求参数自动封装 RESTful接口传参 下面我们将分别对这四种方式进行详细讲解。 二、URL传参 在 SpringMVC 框架中,…

    Java 2023年6月15日
    00
  • 自定义注解和springAOP捕获Service层异常,并处理自定义异常操作

    下面是关于自定义注解和Spring AOP结合进行Service层异常捕获并处理自定义异常操作的攻略。 1. 自定义注解 在Java的语言中,注解是一种元数据,它提供了一种在类、接口、字段、方法等的声明语句中添加元数据的方法。注解可以被标记为编译时的元数据或运行时的元数据。 自定义注解可以根据业务需求进行定义,其中注解应该只用于描述类、方法和变量等方面的信息…

    Java 2023年5月27日
    00
  • java使用IO流对数组排序实例讲解

    Java使用IO流对数组排序实例讲解 简介 本文介绍了使用Java的IO流对数组进行排序的方法,以及解释了IO流和排序的概念,也包含了两个示例。 IO流和排序简介 IO流 IO流是Java中对输入输出流的统称,分为字节流和字符流,其中字节流主要处理二进制文件,而字符流则主要用于文本文件。在Java中,使用IO流需要借助InputStream、OutputSt…

    Java 2023年5月26日
    00
  • 一文带你了解Java万物之基之Object类

    一文带你了解Java万物之基之Object类 Java语言中的每个类都是继承自基类Object,因此Object类是所有类的父类。这篇文章将会介绍Object类的常用方法和示例说明。 常用方法 equals Object类的equals方法用于比较两个对象是否相等。Object类的equals方法使用的是比较对象的地址值,即两个对象的地址是否相同,若相同则返…

    Java 2023年5月26日
    00
  • mybatis查询返回Map类型的讲解

    Mybatis是一个优秀的ORM框架,常见的查询结果是将数据封装在POJO类中,但有时我们还需要查询结果封装到Map类型中,本文将详细讲解如何使用mybatis查询返回Map类型的方法。 1. 返回Map类型的Mapper接口方法 我们可以定义一个返回Map类型的Mapper接口方法,具体过程如下: 1.1 定义Mapper接口 public interfa…

    Java 2023年5月20日
    00
  • Properties 持久的属性集的实例详解

    Properties 持久的属性集的实例详解 概述 Properties 类继承自 Hashtable 类,主要用于处理属性文件。属性文件中的每一行都是一个键值对,用等号分隔,键和值均不可含有等号。属性文件常被用于存储程序的配置信息。Properties 类提供了将属性文件从磁盘中加载、保存到磁盘中、以及修改属性的功能。 基本用法 Properties 类中…

    Java 2023年6月16日
    00
  • 解决json串和实体类字段不一致的问题

    如果我们拿到了一串 JSON 字符串,需要用实体类进行反序列化,但是 JSON 字符串中的 key 和实体类的属性名不一致,这时就需要解决 JSON 串和实体类字段不一致的问题。 解决这个问题的方法有以下三种: 1. 使用 @JsonProperty 注解 Json 序列化和反序列化框架 Jackson 提供了注解 @JsonProperty,可以用来将实体…

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