idea 配置docker 进行上传镜像,部署启动容器

news2024/11/13 8:05:38

前言

 

在我们开发测试过程中,需要频繁的更新docker镜像,然而默认情况下,docker的2375端口是关闭的,下面介绍如何打开端口。

  1. 修改docker配置文件 操作步骤

1.1、修改配置

登录docker所在服务器,修改docker.service文件

/usr/lib/systemd/system/docker.service  目录下 编辑 docker.service  文件

搜索 ExecStart= 找到下面的配置进行修改

修改如下内容:将

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

改为:

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

1.2 重启服务

最后重新加载服务的配置文件和重启docker服务:

systemctl daemon-reload

systemctl restart docker

这样配置后,Docker私有仓库就会在2375端口上运行,可以使用2375端口来进行远程操作。

2 、Idea 安装docker 插件

2.1 在idea 下载安装docker

在setting->plugins->搜索docker 进行安装

2.2配置docker地址:

Tcp socker  配置:tcp://ip:2375

 

3、创建docker文件夹和Dockerfile文件,dockersrc同级

Dockerfile 内容:

index-service 实例:

FROM  openjdk:8-jdk
ENV LANG C.UTF-8
ENV LANGUAGE zh_CN.UTF-8
ENV LC_ALL C.UTF-8
RUN rm -f /etc/localtime \
    && ln -sv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo "Asia/Shanghai" > /etc/timezone

ADD /index-service.jar /app.jar
EXPOSE 8199
CMD ["java","-Dfile.encoding=UTF-8","-Dsun.jnu.encoding=UTF-8","-jar","/app.jar"]

4、Pom.Xml 文件增加相关依赖: 在Build中 ,例如:

<build>
  <finalName>index-service</finalName>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
      <configuration>
        <fork>true</fork> <!-- 如果没有该配置,devtools不会生效 -->
        <jvmArguments>
          -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
        </jvmArguments>
      </configuration>
    </plugin>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>2.18.1</version>
      <configuration>
        <skipTests>true</skipTests>
      </configuration>
    </plugin>
    <plugin>
      <groupId>com.spotify</groupId>
      <artifactId>docker-maven-plugin</artifactId>
      <version>1.0.0</version>
      <!--将插件绑定在某个phase执行-->
      <executions>
        <execution>
          <id>build-image</id>
          <!--用户只需执行mvn package ,就会自动执行mvn docker:build-->
          <phase>package</phase>
          <goals>
            <goal>build</goal>
          </goals>
        </execution>
      </executions>
      <configuration>
        <!--指定生成的镜像名-->
        <imageName>${project.artifactId}</imageName>
        <!--指定标签-->
        <imageTags>
          <imageTag>latest</imageTag>
        </imageTags>
        <!-- 指定 Dockerfile 路径-->
        <dockerDirectory>${basedir}/docker</dockerDirectory>
        <!--指定远程 docker api地址-->
        <dockerHost>http://192.168.3.240:2375</dockerHost>
        <!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
        <resources>
          <resource>
            <targetPath>/</targetPath>
            <!--jar 包所在的路径 此处配置的 即对应 target 目录-->
            <directory>${project.build.directory}</directory>
            <!-- 需要包含的 jar包 ,这里对应的是 Dockerfile中添加的文件名 -->
            <include>${project.build.finalName}.jar</include>
            <include>classes/page/</include>
          </resource>
        </resources>
      </configuration>
    </plugin>
  </plugins>
  <resources>
    <resource>
      <directory>src/main/java</directory>
      <includes>
        <include>**/*.xml</include>
      </includes>
    </resource>
    <resource>
      <directory>src/main/resources</directory>
      <includes>
        <include>**/*.*</include>
      </includes>
    </resource>
  </resources>
</build>

5、在idea的右边找到Maven Projects,找到Lifecycle,双击package打包,第一次打包比较慢,需要安静等待

 

  1. 等打包成功后,会生成镜像。在docker中找到images 点击打开 ,找到自己服务的镜像,例如 index-service:latest

  1. 使用镜像创建容器,然后启动: 右键 镜像 点击 create  container (创建容器) ,进行容器创建 ,创建完可以点击下方的 run(启动) 按键 直接进行启动

                    

 

  1. 可以在容器中进行管理操作,在docker中找到container 点击打开 找到自己的容器 右键 ,可以进行启动  启动 、 停止 、 编辑等

9、启动后可以在 docker 中查看自己的服务 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/449029.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

web前端实验5

实 验 报 告 课 程 Web前端应用开发 实验项目 Jquery AJAX编程 成 绩 专业班级 班内序号 指导教师 姓 名 学 号 实验日期 实验目的及要求&#xff1a; &#xff08;1&#xff09; 理解和掌握Jquery AJAX的get方式请求 &#xff08;2&#xff09; 理解和掌握Jquery AJAX的pos…

释放ChatGPT潜能:4款高效插件让你的AI助手更强大

你的ChatGPT页面是什么样的&#xff1f;是这样的吗&#xff1f; 今天我要向大家推荐四款「ChatGPT免费插件」。这些插件是我们在与GPT日常交流中&#xff0c;使用频率最高的四个工具。 一旦安装这些插件&#xff0c;你的GPT将立即变身为「超级ChatGPT」。使用起来更为流畅&am…

BEV+Transformer对无人驾驶硬件体系的巨大改变

摘要&#xff1a; BEVTransformer彻底终结了2D直视图CNN时代&#xff0c;BEVTransformer对智能驾驶硬件系统有着什么样的影响&#xff1f;背后的受益者又是谁&#xff1f; 图片来源&#xff1a;特斯拉 BEVTransformer是目前智能驾驶领域最火热的话题&#xff0c;没有之一&…

【大数据平台开发】【Web框架】001Django框架简介

【大数据平台开发】【Web框架】001Django框架简介 文章目录 【大数据平台开发】【Web框架】001Django框架简介一. Django简介与安装1.1 Django安装1.2 Django简介1.3 框架功能简介 二. Django框架的最小程序2.1 新建工程2.2 修改工程2.3 运行工程2.4 django-admin与manage.py2.…

(二)EalsticSearch 辅助工具 Kibana 介绍与安装

1、什么是 kibana &#xff1f; Kibana 是一个针对Elasticsearch的开源分析及可视化平台&#xff0c;用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana&#xff0c;可以通过各种图表进行高级数据分析及展示。 Kibana让海量数据更容易理解。它操作简单&#xff…

Python高光谱遥感数据处理与机器学习

Python高光谱遥感数据处理与机器学习 第一章、高光谱基础 高光谱遥感简介 什么是高光谱遥感&#xff1f; 高光谱遥感为什么重要&#xff1f; 高光谱遥感与其他遥感技术的区别是什么&#xff1f; 高光谱遥感的历史和发展 高光谱传感器与数据获取 高光谱传感器类型 如何获…

RHCE第五次作业

目录 一、判断当前磁盘剩余空间是否有20G&#xff0c;如果小于20G&#xff0c;则将报警邮件发送给管理员&#xff0c;每天检查一次磁盘剩余空间 1.创建脚本test1.sh 2.下载邮件服务并执行 3.测试 4.做计划 二、 判断web服务是否运行&#xff08;1、查看进程的方式判断该程序…

Node内置模块 【操作系统os模块】

文章目录 &#x1f31f;前言&#x1f31f;os模块&#x1f31f;使用&#x1f31f;属性&#x1f31f;方法&#x1f31f;获取操作系统临时目录&#x1f31f;获取操作系统主机名&#x1f31f;获取操作系统CPU架构&#x1f31f;识别操作系统平台&#x1f31f;获取操作系统发行版本&a…

MPLS VPN 实验

目录 MPLS VPN 实验 拓扑图 实验目的 基础配置 R2 R3 R4 公网部分配置IGP&#xff08;ospf&#xff09; R2 R3 R4 激活MPLS R2 R3 R4 VRF创建 R2 R4 将接口画入VRF空间 R2 R4 配置接口IP地址 R2 R4 站点1基本配置 站点2基本配置 通过静态路由在CE和…

【SPSS】两独立样本的极端反应检验和两配对样本的非参数检验详细操作教程(附案例实战)

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

链式二叉树的查找,遍历(递归实现)等接口的实现

目录 前言: 一&#xff1a;二叉树的建立 (1)本文采用的二叉树表示方法 (2)手动建立一颗二叉树 二&#xff1a;二叉树的遍历 (1)二叉树的三种遍历方式 (2)分治思想 (3)前序遍历 (4)中序遍历 (5)后序遍历 三&#xff1a;求二叉树的节点和高度(深度) (1)求二叉树节点 ①…

python+vue 餐饮食品安全监管投诉平台

系统主要包括个人中心、用户管理、餐饮类型管理、餐饮企业管理、案例类型管理、案例展示管理、法规分类管理、法律法规管理、在线投诉管理、查处信息管理、系统管理等功能模块。 绪论 网站的开发背景&#xff0c;意义和系统状况等&#xff0c;详细讲述了系统的用处&#xff0c;…

基于构效关系模型的药物设计(QSAR)

基于构效关系模型的药物设计&#xff08;QSAR&#xff09; 定量构效关系&#xff08;QSAR&#xff0c;Quantitative Structure-Activity Relationship&#xff09;分析是指利用理论计算和统计分析工具来研究系列化合物结构&#xff08;包括二维分子结构、三维分子结构和电子结…

Latex数学公式排版

文章目录 Latex使用最佳方式&#xff1a;读官方文档Latex中的字符数学公式排版1.引入宏包:2.公式排版基础3.数学符号(1).希腊字母(2).指数,上下标,导数(3).分式和根式(4).关系符(5).算符(6).巨算符(7).箭头 Latex使用 最佳方式&#xff1a;读官方文档 The not so short intro…

案例分析:真实案例对“引用类型”的思考

在一个风和日丽的早上&#xff0c;我刚坐到工位上&#xff0c;正准备美美的享受早餐时&#xff0c;我的测试小兄弟杨过火急火燎的来找我说&#xff1a;“小米&#xff0c;不好了&#xff0c;运营童鞋反馈&#xff0c;咱们商城小程序金刚区的新店专区&#xff0c;新开的店铺无法…

mac上 qt与mysql的连接问题

经过两天的折磨和挣扎&#xff0c;将Mac上QT与mysql数据库链接问题的解决做一个梳理&#xff0c;以防忘记&#xff0c;并供他人借鉴&#xff1b; 环境版本&#xff1a;Mac10.14&#xff0c;MySQL5.7.24&#xff0c;Qt5.14.2 首先我重新下载安装了Qt&#xff08;安装了源码&am…

Hadoop课程笔记

Hadoop笔记 nn和sn的区别 nn有inprogress&#xff0c;sn没有&#xff0c;隔一段时间sn会拉取nn上的fsi和edits进行合并然后返回给nnnn和dn 序列化和反序列化 当需要将内存中对象从一个服务器传输到另一个服务器的时候&#xff0c;将内存中的对象写进磁盘&#xff08;序列化&am…

python知识点总结(国家一级假勤奋大学生整理)

python知识点总结 0. 持续更新~1. print不加end自动加回车自动换行2. eval()提取值3. 三双引号字符串中可以包含换行符&#xff0c;制表符以及其他特殊字符4. 字符串不能修改5. 用in 或 not in判断字串是否在母串中6. 网上做题print慎用‘&#xff0c;’会产生不该有的空格7. i…

职场规则实录(不要成全别人,恶心自己)

即使我们因为做出某种决定失去了某些东西,但这并不一定意味着这个决定是错误的。相反,很多时候,即使我们面临诸多风险,我们也要冒险去做出决定,因为在这种风险中可能存在着丰富的机会和收获。就像投资一样,就算我们的投资并没有获得预期的收益,但这并不代表这个投资是错…

Linux 性能优化大全!

性能指标 高并发和响应快对应着性能优化的两个核心指标&#xff1a;吞吐和延时 应用负载角度&#xff1a;直接影响了产品终端的用户体验 系统资源角度&#xff1a;资源使用率、饱和度等 性能问题的本质就是系统资源已经到达瓶颈&#xff0c;但请求的处理还不够快&#xff0…