【使用Idea创建一键部署项目到Docker(保姆级教程)】

这篇具有很好参考价值的文章主要介绍了【使用Idea创建一键部署项目到Docker(保姆级教程)】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

Hello今天给大家带来如何一键部署项目到docker,什么事docker呢如果还有不会的建议先学习一下,这里仅整合资源, 参考原文

1. 安装docker

*这里注意如果你是新服务器,请先安装yum源

1.1 安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

1.2 配置镜像源

//这里配阿里置国内镜像,会快很多
yum config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.3 安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

1.4 安装 containerd

yum install -y containerd.io --allowerasing

1.5 安装 Docker Engine-Community

# 搜索存储库中可用的版本,按照版本号从高到低排序
yum list docker-ce --showduplicates | sort -r

idea docker部署,java日常,intellij-idea,docker,eureka

# 选择可用的版本
yum install -y docker-ce-[这里填版本号]

1.6 验证docker是否安装成功,以及设置开机自启

docker version

idea docker部署,java日常,intellij-idea,docker,eureka
如果出现版本号说明成功了

1.7 docker常用命令

//设置开机自启(强烈建议使用)
systemctl enable docker
//启动 Docker
systemctl start docker
//重启 Docker
systemctl restart docker
//停止 Docker
systemctl stop docker

2. 服务器上使用TSL加密远程传输

2.1 Docker开启远程访问

//这里需要编辑文件注意大小写和空格
vim /usr/lib/systemd/system/docker.service
//输入完命令按i,改完后esc->:wq->回车

ExecStart=/usr/bin/dockerd 追加 -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
idea docker部署,java日常,intellij-idea,docker,eureka
重启 Docker 让配置生效

systemctl daemon-reload
systemctl restart docker

2.2 Docker 启用 TLS

我们这里生成tls证书这一步非常关键,好好看好好学

//1.创建TLS证书存储位置,这一步位置你可以自定义,但是后面的shell脚本地址得改,不想麻烦的话建议跟着我来
 mkdir -p /etc/docker/cert
//2. 创建shell脚本
vim /etc/docker/create_tls_cert.sh

这里是shell脚本,上面命令输入完后,把以下内容粘贴进

#!/bin/bash
set -e
if [ -z $1 ];then
        echo "请输入 Docker 服务器主机名"
        exit 0
fi
HOST=$1
# 生成证书的目录 /etc/docker/cert
cd /etc/docker/cert
openssl genrsa -aes256 -out ca-key.pem 4096
openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem
openssl genrsa -out server-key.pem 4096
openssl req -subj "/CN=$HOST" -sha256 -new -key server-key.pem -out server.csr
# 配置白名单,推荐配置0.0.0.0,允许所有IP连接但只有证书才可以连接成功
#这里如果你服务器已经配置域名那么就用DNS,如果没有那么就用IP,这里我默认是IP
# echo subjectAltName = DNS:$HOST,IP:0.0.0.0 > extfile.cnf
echo subjectAltName = IP:$HOST,IP:0.0.0.0 > extfile.cnf
openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile extfile.cnf
openssl genrsa -out key.pem 4096
openssl req -subj '/CN=client' -new -key key.pem -out client.csr
echo extendedKeyUsage = clientAuth > extfile.cnf
openssl x509 -req -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem -extfile extfile.cnf
rm -v client.csr server.csr
chmod -v 0400 ca-key.pem key.pem server-key.pem
chmod -v 0444 ca.pem server-cert.pem cert.pem
 输入完命令按i,改完后esc->:wq->回车

执行脚本

sh /etc/docker/create_tls_cert.sh [这里填写域名或者服务器ip,看你配置文件里配的是什么]
// ps: 比如ip为192.168.1.1 那么就是sh /etc/docker/create_tls_cert.sh 192.168.1.1

idea docker部署,java日常,intellij-idea,docker,eureka

cd  /etc/docker/cert

然后进入一开始配置秘钥存储位置的地方,可以看到有8个文件,如果不是8个就有问题,这里只提取 ca.pem 、cert.pem、key.pem 三个文件到本地(就是你运行idea的机器),找个地方存储起来,比如我放在C盘,或者D盘,创个目录,这个目录一定要记住

2.3 配置 Docker 启用 TLS监听

这一步返回服务器命令窗口,再修改一遍Docker配置

vim /usr/lib/systemd/system/docker.service

在原来的配置后面追加一些东西,或者替换,这里大概意思就是添加生成三个秘钥的路径

ExecStart=/usr/bin/dockerd \
        --tlsverify --tlscacert=/etc/docker/cert/ca.pem \
        --tlscert=/etc/docker/cert/server-cert.pem \
        --tlskey=/etc/docker/cert/server-key.pem \
        -H tcp://0.0.0.0:2376 -H unix://var/run/docker.sock

idea docker部署,java日常,intellij-idea,docker,eureka
老样子重载配置和重启 Docker 生效

systemctl daemon-reload 
systemctl restart docker

3. Idea配置

3.1 下载插件

首先打开Idea去插件市场弄一个插件,File ->Srttings ->Plugins -> Marketplace 搜索Docker,第一个就是

idea docker部署,java日常,intellij-idea,docker,eureka

3.2配置秘钥连接Docker

接下里我们配置一下连接的秘钥
打开 File → Setting → Build,Execution,Deployment → Docker → +
idea docker部署,java日常,intellij-idea,docker,eureka
idea docker部署,java日常,intellij-idea,docker,eureka

显示上面的东西就说明成功了

连接不成功主要有以下几个原因:请逐一排查:

  1. 服务器端口没开放,建议配置安全组开放端口
  2. docker远程连接配置失败.建议好好跟着我前面的文章一步一步来
  3. 本地秘钥路径不正确
  4. 一定哟啊是https开头不能是https
  5. 未知,去百度吧

3.3 开始部署项目

首先呢在项目根目录添加 Dockerfile 文件,什么是根目录,就是和你pom.xml同级的

# 基础镜像
FROM openjdk:8-jre

# 维护者信息
MAINTAINER xxxxx

# 设置容器时区为当前时区
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo 'Asia/Shanghai' >/etc/timezone

# /tmp 目录作为容器数据卷目录,SpringBoot内嵌Tomcat容器默认使用/tmp作为工作目录,任何向 /tmp 中写入的信息不会记录进容器存储层
# 在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到容器中的/tmp目录
VOLUME /tmp

# 复制主机文件至镜像内,复制的目录需放置在 Dockerfile 文件同级目录下
ADD target/admin-boot.jar app.jar

# 容器启动执行命令
ENTRYPOINT ["java", "-Xmx128m", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar"]

# 声明容器提供服务端口
EXPOSE 8800

idea docker部署,java日常,intellij-idea,docker,eureka

3.4 运行配置

idea docker部署,java日常,intellij-idea,docker,eureka
左上角+ -> Docker -> Dockerfile
idea docker部署,java日常,intellij-idea,docker,eureka
idea docker部署,java日常,intellij-idea,docker,eureka

打包命令: clean package -U -DskipTests
启动配置: spring.profiles.active= 哪个配置文件

idea docker部署,java日常,intellij-idea,docker,eureka
选择服务点击启动就行了,好了这里就是全部内容了,制作不易,感谢大家三连!献上膝盖了
idea docker部署,java日常,intellij-idea,docker,eureka文章来源地址https://www.toymoban.com/news/detail-706402.html

到了这里,关于【使用Idea创建一键部署项目到Docker(保姆级教程)】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Docker】11、IDEA集成Docker插件实现一键部署SpringBoot项目

    日常开发项目的过程中,我们每次需要部署线上的时候,都需要安装一大堆的运行环境,例如:JDK、MySQL、Redis 等,非常花费时间、我们可以使用 Docker 的容器技术,方便快捷地搭建项目启动所需要的运行环境,本文介绍在开发工具 Idea 中安装 Docker 插件实现一键部署 SpringBo

    2024年02月09日
    浏览(40)
  • 保姆教程 Docker 部署微服务项目

    大家好,我是奇兵。 文章比较长,请耐心看完! 项目上线是每位学编程同学必须掌握的基本技能。之前我已经给大家分享过很多种上线单体项目的方法了,今天再出一期微服务项目的部署教程,用一种最简单的方法,带大家轻松部署微服务项目。 开始之前,先做个小调研啊

    2024年04月09日
    浏览(56)
  • 【Docker】部署若依项目——保姆级教程亲测

    目录 1.部署后端 步骤1:修改mysql地址 步骤2:修改redis地址 步骤3:修改后端端口 步骤4:将项目打包成Jar包 ​编辑 步骤5:编写Dockerfile 步骤6:制作镜像 启动容器  步骤7:访问 2.前端打包 步骤1:修改端口 步骤2:修改后端请求地址 步骤3:打包 ​编辑 步骤4:前端打包的

    2024年02月22日
    浏览(47)
  • 宝塔+docker+jenkins部署vue项目(保姆级教程)

    在软件商城安装Docker管理器 使用命令行 jenkins_home为我创建的目录 可以修改任意目录 我这里设置的端口为8080 启动之前需要在云服务器管理平台和宝塔开通相应端口号 代表成功 首次加载比较慢、需要等待很长时间 到这个页面算是初始化完成了 输入密码路径为 之前设置的路

    2024年02月03日
    浏览(48)
  • idea使用Spring Initializer创建springboot项目的坑【保姆级教学】

    提示:这里先简述项目创建后遇到的问题和解决方案: idea 使用 Spring Initializer 创建springboot项目后, 有以下问题: ① 右键没有Run ② 右键New新建文件发现无Java Class选项 然后解决掉 ①② 问题后出现新的问题: ③ @SpringBootApplication 注解爆红找不到引用 ④ pom依赖能下载但是加

    2024年02月04日
    浏览(55)
  • ubuntu使用docker compose一键部署项目

    1、将前面手动部署的容器和镜像全部删除 docker rmi hmall (hmall镜像名) docker rmi  image_id rmi 是删除多个  rm是删除一个 2、执行命令 docker compose up -d  http://192.168.79.129:18080/search.html 访问安装成功! 该ip是虚拟机ubuntu的ip 3、docker-compose.yml 文件  4、项目结构 mysql文件夹内容:

    2024年01月22日
    浏览(42)
  • IDEA配合Docker插件进行一键部署

    服务器装好Docker环境,并且开放docker端口 且加密 给外部访问 参考:https://www.cnblogs.com/haoxianrui/p/15322508.html#1-docker-开启远程访问 springboot 中进行配置 多模块项目,在最外层的pom文件中进行 build 配置 编写 Dockerfile 配置文件 4. idea 中配置 docker ● 配置端口以及容器名字 这样的话

    2024年02月04日
    浏览(51)
  • 【3分钟开服】幻兽帕鲁服务器一键部署保姆教程

    在帕鲁的世界,你可以选择与神奇的生物「帕鲁」一同享受悠闲的生活,也可以投身于与偷猎者进行生死搏斗的冒险。帕鲁可以进行战斗、繁殖、协助你做农活,也可以为你在工厂工作。你也可以将它们进行售卖,或肢解后食用。 引用自:https://store.steampowered.com/app/1623730/P

    2024年02月20日
    浏览(47)
  • IDEA远程一键部署SpringBoot到Docker

    IDEA 是Java开发利器,Spring Boot是Java生态中最流行的微服务框架,docker是时下最火的容器技术,那么它们结合在一起会产生什么化学反应呢? 一、开发前准备 1. Docker安装 可以参考:https://docs.docker.com/install/   2.配置docker远程连接端口 找到 ExecStart,在最后面添加 -H tcp://0.0.0.0

    2024年02月04日
    浏览(37)
  • Java——Linux使用Docker部署若依前后端分离版【保姆级教程】

    目录 一、项目规划与前置工作 1.1、docker所需镜像 1.2、使用工具  1.3、防火墙与安全组的配置  1.4、域名解析、备案、SSL证书的准备(可选) 二、Docker和镜像安装 2.1、Docker安装 2.1.1、检查环境 2.1.2、搭建gcc环境(gcc是编程语言译器) 2.1.3、安装需要的软件包 2.1.4、装镜像仓

    2024年02月02日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包