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代理?

    什么是Java代理? Java代理是一种设计模式,它允许在不改变目标对象的情况下代理对象与目标对象交互。代理对象可以在执行目标对象之前或之后执行其他操作,在不影响目标对象的情况下维护目标对象的状态。Java中有两种类型的代理:静态代理和动态代理。 静态代理 静态代理是在自己的类中实现代理的一种方式。创建一个代理类,通过实现与目标对象相同的接口来实现代理。使用…

    Java 2023年5月11日
    00
  • 什么是Java Security Manager?

    Java SecurityManager是Java安全管理器,它是Java安全体系结构中的一部分,依靠安全策略来保护Java应用程序中的代码和资源。SecurityManager为你的代码提供了非常细粒度的安全控制,可以保证应用程序中的代码和资源的安全性,以防止恶意攻击、非法访问和其它的安全威胁。 使用Java SecurityManager的步骤如下: 启…

    Java 2023年5月11日
    00
  • Java中JSONObject与JSONArray的使用区别详解

    下面是“Java中JSONObject与JSONArray的使用区别详解”的完整攻略: 1. 什么是JSONObject和JSONArray? 在Java中,JSONObject和JSONArray是用于处理JSON数据的两个重要类。 JSONObject表示JSON对象,即一个存储键值对的容器,每个键值对都是由一个字符串作为键和一个值组成的。JSON对象的…

    Java 2023年5月26日
    00
  • Java中读取文件转换为字符串的方法

    想要读取文件并将其转换为字符串,可以使用Java中的流和缓冲区来实现。具体实现过程如下: 使用Java中的File类打开要读取的文件,可以使用文件的路径或URI来指定文件。例如,打开当前路径下的test.txt文件: File file = new File("test.txt"); 构造一个FileReader对象以读取文件内容。如果需…

    Java 2023年5月27日
    00
  • springboot-controller的使用详解

    下面我将为您详细讲解“springboot-controller的使用详解”的完整攻略。 Spring Boot Controller的使用详解 什么是Controller Controller是Spring Boot中的一个非常重要的组件,它主要负责处理客户端请求并返回响应。在Web应用中,客户端一般是浏览器,在RESTful API中可以是各种各样的客户…

    Java 2023年5月31日
    00
  • 详解Java网络编程

    详解Java网络编程攻略 Java网络编程是Java中一门非常重要的技术,它不仅可以将不同主机之间的计算机网络互联互通,而且也是构建各种服务器端应用程序的重要基础。下面我们将对Java网络编程进行一个详细的讲解,希望能够帮助读者更好地了解Java网络编程。 Java网络编程概述 Java网络编程是Java提供的一组功能强大的API,这些API可以让我们轻松地…

    Java 2023年5月19日
    00
  • 解决zuulGateway网关添加路由异常熔断问题

    解决zuulGateway网关添加路由异常熔断问题 在使用zuulGateway网关时,我们经常需要通过动态添加路由的方式来实现API转发。然而,在高并发或者复杂路由规则时,动态添加路由可能会引发Unexpected error in route导致熔断。本文将详细介绍如何通过修改zuulGateway配置来解决该问题。 问题描述 在使用zuulGatewa…

    Java 2023年5月26日
    00
  • java实现对服务器的自动巡检邮件通知

    下面是“Java实现对服务器的自动巡检邮件通知”的攻略,具体步骤如下: 1. 安装JavaMail API JavaMail API 是Java语言编写的邮件发送和接收的一个API,它支持SMTP、POP3和IMAP协议等,我们需要先下载并安装它。 可以到Oracle官网下载JavaMail API:https://www.oracle.com/java/t…

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