idea2018利用docker部署项目——demo实践

2023-11-23 17:59

本文主要是介绍idea2018利用docker部署项目——demo实践,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文主要介绍通过idea打包构建上传到docker镜像仓库中,并且上传至阿里云私有仓库。

1.idea2018安装docker插件

2.安装完毕之后,连接docker

server一开始需要先创建:

这时需要开发2375端口,把docker容器暴露出来,但是这在开发中是不安全,一般在测试中使用

(1)修改docker配置

#进入dockerservice 
vi /lib/systemd/system/docker.service#在ExecStart=/usr/bin/dockerd-current后添加
-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

如图

(2)上面配置完成之后,这时是没有开放2375端口的,需要防火墙开放

firewall-cmd --zone=public --add-port=2375/tcp --permanentfirewall-cmd --reload

(3)重启加载docker配置,并重新启动

systemctl daemon-reloadsystemctl restart docker

(4)网络服务查看2375端口是否暴露出来了

(5)idea测试链接docker

3.编写dockerfile文件

注意不要使用${JAR_FILE}

FROM openjdk:8-jdk-alpine
VOLUME /tmp
COPY  target/docker-demo.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]#以下方式不可用,原因是${JAR_FILE}读取不懂pom文件,所以直接写打包包路径
#FROM openjdk:8-jdk-alpine
#VOLUME /tmp
#ARG JAR_FILE
#COPY ${JAR_FILE} app.jar
#ENTRYPOINT ["java","-jar","/app.jar"]

4.运行docker,运行完毕之后,会生成镜像并且上传到docker容器中

5.创建容器,可以通过idea创建,也可以直接用docker命令

docker run -d -p 8080:8080 --name docker_demo eae272507e7f

注意如果映射到其他端口的话需要防火墙开放其他端口出来

查看log日志,容器启动完成之后idea可以查看也可用docker logs 容器id查看

6.访问工程ip:端口号

https://192.168.217.142:8080/user/find

7.本地打包发布镜像都没问题了,现在可以上传到阿里云私有仓库了,具体可以参考阿里云镜像操作步骤:

(1)本地docker登录阿里云镜像仓库.

(2)将刚刚打包的镜像上传到阿里云

(3)登录阿里云服务器,将镜像拉取下来

(4)启动镜像

(5)服务器访问

本文主要注意两点:

(1)2375端口如何开放,这个是个坑.

(2)dockerfile文件,主要要COPY 压缩包不要使用${}访问,只要启动容器之后,有正常日志出来,说明就已经打包成功

这篇关于idea2018利用docker部署项目——demo实践的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/419744

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

SpringBoot项目是如何启动

启动步骤 概念 运行main方法,初始化SpringApplication 从spring.factories读取listener ApplicationContentInitializer运行run方法读取环境变量,配置信息创建SpringApplication上下文预初始化上下文,将启动类作为配置类进行读取调用 refresh 加载 IOC容器,加载所有的自动配置类,创建容器在这个过程

Maven创建项目中的groupId, artifactId, 和 version的意思

文章目录 groupIdartifactIdversionname groupId 定义:groupId 是 Maven 项目坐标的第一个部分,它通常表示项目的组织或公司的域名反转写法。例如,如果你为公司 example.com 开发软件,groupId 可能是 com.example。作用:groupId 被用来组织和分组相关的 Maven artifacts,这样可以避免