利用Dockerfile构建带sshd、jdk服务的自定义镜像

news2024/10/7 8:25:04

什么是Dockerfile?

Dockerfile 是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像

dockerfile 的基本结构

Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行。

一般的,Dockerfile 分为四部分:

基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令。

 

镜像操作指令中的COPY和ADD的区别!

COPY:复制 ,假设 COPY  jdk.tar.gz  /usr/local/java 

意思就是我要把jdk.tar.gz复制到java文件夹当中去   

ADD:解压,假设 ADD jdk.tar.gz  /usr/local/java 

意思就是我要把jdk.tar.gz解压到java文件夹当中去 

 

 Java Downloads | Oracle  下载jdk压缩包

步骤1:建立/user/sshd目录,并切换到该目录。

# mkdir -p /user/sshd

# cd /user/sshd

 步骤2:编写Dockerfile文件,注意文件的首字母必须大写。

# vi Dockerfile    //编写Dockerfile文件

。。。。。。

。。。。。。

。。。。

FROM centos
MAINTAINER xxxxxx@xxx.com
 
ENV MYPATH /usr/local
WORKDIR $MYPATH
 
#安装vim编辑器
RUN yum -y install vim
#安装ifconfig命令查看网络IP
RUN yum -y install net-tools
#安装java8及lib库
RUN yum -y install glibc.i686
RUN mkdir /usr/local/java
#ADD 是相对路径jar,把jdk-8u171-linux-x64.tar.gz添加到容器中,安装包必须要和Dockerfile文件在同一位置
ADD jdk-8u171-linux-x64.tar.gz /usr/local/java/
#配置java环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH
 
EXPOSE 80
 
CMD echo $MYPATH
CMD echo "success--------------ok"
CMD /bin/bash
 

 遇到的问题是:去官网找个jdk的压缩包

ENV JAVA_HOME /usr/local/java/jdk1.8.0_171    这句话得看你下载的tar.gz解压缩之后的名称

还有yum源的问题+加上老师给的话就做出来了

 步骤3:利用docker build命令构建自定义镜像,镜像名为sshd:v1.0。

 步骤4:利用sshd:v1.0镜像创建容器,容器名为test3_sshd。

# docker run -dit --name test_sshd sshd:v1.0

# docker ps -a

 从docker ps –a命令的显示现象可以看到,容器名为test_sshd的容器状态为UP状态,表示容器创建成功,并且正常运行。

步骤5:进入test_sshd容器,查看IP地址。

# docker exec -it test_sshd /bin/bash

[root@9a10804d2775 /]# ifconfig

 

 可以看到我的ip地址是 172.17.0.6

步骤6:克隆一个终端,进行测试。

# ssh 172.17.0.3 // SSH到172.17.0.3主机

 

ssh和java都有啦 

 

 得把这些配了才能连

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

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

相关文章

SpringCloud入门实战(十一)-Spring Cloud Stream消息驱动概述

📝 学技术、更要掌握学习的方法,一起学习,让进步发生 👩🏻 作者:一只IT攻城狮 ,关注我,不迷路 。 💐学习建议:1、养成习惯,学习java的任何一个技术…

聚焦云原生安全攻防|构建纵深防御的运行时威胁检测体系

7月2日,诸子云北京分会研讨会活动—网络安全攻防对抗在北京成功举办。 作为国内云原生安全领导厂商,安全狗也参与此次活动。 厦门服云信息科技有限公司(品牌名:安全狗)成立于2013年,致力于提供云安全、&…

Scenario Runner (CARLA)

1. How to run scenarios —Type 2. How to run scenarios —Functionalities

系统提权与数据窃取

系统提权与数据窃取 一、后渗透二、后渗透的技术2.1、提权2.2、横向移动2.3、持久化2.4、数据窃取2.5、漏洞利用 三、meterpreter后渗透3.1、靶机权限提升3.1.1、windows内核/服务漏洞3.1.2、bypassUAC3.1.2.1、bypassuac 进程注入3.1.2.2、bypassuac_injection 内存注入3.1.2.…

Android Studio实现内容丰富的安卓医院医生招聘平台

如需源码可以添加q-------3290510686,也有演示视频演示具体功能,源码不免费,尊重创作,尊重劳动。 项目编号120 1.开发环境 android stuido jdk1.8 eclipse mysql tomcat 2.功能介绍 安卓端: 1.注册登录 2.查看公告 3.查…

软件设计师(九)数据库技术基础

数据库技术是研究数据库的结构、存储、设计、管理和应用的一门软件学科 一、基本概念 1、数据库和数据库系统 数据库系统(DataBase System,DBS)是一个采用了数据库技术,有组织地、动态地存储大量数据,方便多用户访问…

公众号授权登录h5

公众号授权登录h5 . 前几天一个月薪35k的兄弟,给我推了一个人工智能学习网站,看了一段时间挺有意思的。包括语音识别、机器翻译等从基础到实战都有,很详细,分享给大家。大家及时保存,说不定啥时候就没了。 . 步骤 …

认识JavaScript

大家好,今天我们来认识一下JavaScript相关内容 目录 🐷1.JavaScript是什么🐷2.JavaScript发展史🐷3.JavaScript 和 HTML 和 CSS 之间的关系🐷4.JavaScript 运行过程🐷5.JavaScript 的组成🐷6.用JavaScript写…

JavaScript 实现一键复制(id,账号)

文章目录 HTML准备JavaScript 逻辑css 在前端有很多的时候需要一键复制账号,密码等,比如QQ的复制QQ账号,一些程序应用的个人信息页,都会有一键复制这个功能,下面给大家分享一下一键复制的实现方法 HTML准备 先提前准备…

【Linux修炼】开发工具使用

🌇个人主页:平凡的小苏 📚学习格言:命运给你一个低的起点,是想看你精彩的翻盘,而不是让你自甘堕落,脚下的路虽然难走,但我还能走,比起向阳而生,我更想尝试逆风…

计算机丢失msvcr110.dll是什么意思?那个修复方法更简单

Windows系统的电脑运行一段时间,总是不可避免出现一些系统报错,比如在运行游戏或游戏的时候,报错提示“计算机丢失msvcr110.dll”,“找不到msvcr110.dll”是什么意思呢?我是运行photoshop的时候报错的,场景…

Paddle:SSLD 知识蒸馏实战

SSLD 知识蒸馏实战 论文:https://arxiv.org/abs/2103.05959 1. 算法介绍 1.1 简介 PaddleClas 融合已有的知识蒸馏方法 [2,3],提供了一种简单的半监督标签知识蒸馏方案(SSLD,Simple Semi-supervised Label Distillation),基于 I…

如何解释商业智能BI?商业智能BI未来的发展趋势?

商业智能BI能够成为当前商业世界中备受企业欢迎的数据类技术解决方案其实是有原因的,早在1958年,IBM研究员就将商业智能BI的早期形态定义为:“对事物相互关系的一种理解能力,并依靠这种能力去指导决策,以达到预期的目标…

【Python】正则表达式匹配大部分Url

正则表达式: r’(\w://)?(\w)(.\w).(\w)(/\w)(.\w)?(?(\w\w)(&\w\w))?’ 解释:

World macheine和Houdini这两个软件在游戏地形制作中如何选择?

本文仅针对“World macheine和Houdini这两个软件在游戏地形制作中如何选择?”做出回答。 简单介绍 World Machine: World Machine是一款专业的地形生成软件。它提供了一套强大的工具和节点系统,用于创建高度图和地形。World Machine可以帮助…

opencv使用applyColorMap()函数,可以将灰度图或彩色图转换成自定义的彩色图,或opencv提供的20多种色彩值

文章目录 1、applyColorMap()函数的使用:(1)函数原型:void applyColorMap(InputArray src, OutputArray dst, int colormap)void applyColorMap(InputArray src, OutputArray dst, InputArray userColor) (2&#xff0…

PMP证书为什么可以不用考试就可以获得CSPM二级证书?

一、PMP证书介绍 PMP是指项目管理专业人士(Project Management Professional),是国际上公认的项目管理领域的权威认证。PMP认证由美国项目管理协会(PMI)颁发,是全球范围内最具权威性、最受认可的项目管理专…

Jmeter使用之:怎么编写扩展函数(一)

目录 前言: 1、首先编写我们的java类,如具体代码如下: 2、使用eclipse把java导出成jar包,如timetool.jar。 3、Jmeter 测试计划底部的library找到timetool.jar,导入进去。 4、在Jmeter测试计划下新建线程组&#…

咨询第三方软件测试机构报价时,软件企业应该准备什么?

随着软件行业的快速发展,软件企业也面临着越来越大的市场竞争压力。为了确保软件产品的质量和稳定性,许多企业开始选择外包软件测试服务。然而,在咨询第三方软件测试机构报价之前,软件企业需要做好一些准备工作,以获得…

AI很渴:chatGPT交流一次=喝掉一瓶水,GPT3训练=填满核反应堆

流行的大型语言模型(LLM),如OpenAI的ChatGPT和Google的Bard,耗能巨大,需要庞大的服务器农场提供足够的数据来训练这些强大的程序。对这些数据中心进行冷却也使得AI聊天机器人对水的需求量极大。新的研究表明&#xff0…