docker java环境 直接做成镜像 跑自己的java包
yum install docker #基于阿里源 可以直接下载
systemctl restart docker
ifconfig #出现 docker0 说明环境部署成功
docker version # 查看版本
#对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件) (也可以直接改为"registry-mirrors": ["https://e9yneuy4.mirror.aliyuncs.com"] )
{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
]
}
systemctl daemon-reload 重启systemctl配置文件 刷新/lib/systemd/systemd下的配置的
systemctl restart docke
docker info #如果从结果中看到了如下内容,说明配置成功。
Registry Mirrors:
https://dockerhub.azk8s.cn/
registry-mirror=https://dockerhub.azk8s.cn) #docker 加速
docker pull java:8-jre-alpine #别人做好的镜像 可以直接拿来用
cd /home/test
cp hello.jar /home/test/target
cp /root/Dockerfile /home/test
java -jar hello.jar # 测试jar包
vim Dockerfile
FROM java:8-jre-alpine #网上下载好的镜像
WORKDIR
/home
#工作目录
ADD ./target/hello.jar hello.jar #jar包的路径 添加到容器
EXPOSE
8808
#web端口 看实际jar包跑的是多少端口号
VOLUME ["/home"]
ENTRYPOINT ["java", "-jar", "hello.jar",
">", "spring.log",
"&"] #dockerfill的命令
“>” 重定向 是 输出日志到一个文#件 #&是后台运行 这一条也是执行的命令 java环境用 cmd命令会被外部命令覆盖 这个不会 、/bin/bash 有关
参考
nohup java -jar /root/java.jar > spring.log &
docker build -t dgcmt/app . #制作成镜像 可以docker images 查看 dgcmt/app # 自定义的镜像名称
192.168.1.115 8808 dygaContentManagement-app #前面是docker本机的ip地址 后面为复制的包名 端口号看包
192.168.1.115 8812 dygaContentManagement-service
docker exec -it 9c97898a932b /bin/sh
docker run -itd -p 8812:8812 dgcmt/service:latest #测试运行 端口映射
#http://ip:端口
(harbor
http://192.168.1.197
admin
12345 #访问镜像仓库)
vi /etc/docker/daemon.json
{ "insecure-registries": [ "192.168.1.197" ] } #本机配置,指定访问的私有仓库 为push 做准备
systemctl daemon-reload && systemctl restart docker
docker login 192.168.1.197 -uadmin -p12345 #本机登录私有仓库 不登录push不上去
docker tag dgcmt/app:latest 192.168.1.197/library/dgcmt/app:latest #给镜像打标签
docker push 192.168.1.197/library/dgcmt/app:latest #上传镜像到私有仓库
docker pull 192.168.1.197/library/dgcmt/app:latest #下载镜像使用(需要删除之前存在的docker镜像)
脚本 批量执行jar包 (此脚本 实现docker tag与push的一次多个 批量上传)
#!/bin/bash
A=dygacontentmanagement-service
A1=dygacontentmanagement/service
B=dygacontentmanagement-app
B1=dygacontentmanagement/app
C=dygacontentmanagement-app
C1=dygacontentmanagement/app
D=dygasport-service
D1=dygasport/service
E=dygawelfare-app
E1=dygawelfare/app
F=dygawelfare-service
F1=dygawelfare/service
# rmi images
docker rmi $A1 $B1 $C1 $D1 $E1 $F1
docker rmi 192.168.1.197/library/$A1 192.168.1.197/library/$B1 192.168.1.197/library/$C1 192.168.1.197/library/$D1
docker rmi 192.168.1.197/library/$E1 192.168.1.197/library/$F1
cd /built/$A
docker build -t $A1 .
docker tag $A1:latest 192.168.1.197/library/$A1:latest
docker push 192.168.1.197/library/$A1:latest
cd /built/$B
docker build -t $B1 .
docker tag $B1:latest 192.168.1.197/library/$B1:latest
docker push 192.168.1.197/library/$B1:latest
cd /built/$C
docker build -t $C1 .
docker tag $C1:latest 192.168.1.197/library/$C1:latest
docker push 192.168.1.197/library/$C1:latest
built 为事先创建好的文件 里面全部放的是 目录与shell脚本 目录里面是jar包与Dockerfill文件
sudo 临时获得管理员权限 root
sudo su 加脚本名 不用管他有没有权限
当我得到一个jar包 , 首先 在docker 已经做好基础环境下 先去8号机 创建一个目录 同jar包同名 如 : abc.jar 将已经做好的Dockerfile文件 复制到当前文件夹下
修改一下端口号,修改一下文件名 (2处) 文件做好 , 把jar包也cp过来 ,,一次做多个文件 , 创建可以执行的脚本 也可以cp过来 放在与目录abc.jar同级。脚本里面 把定义的变量值做下修改就可以了 ,现在还不可直接执行脚本 需要login一下 登录一下私有仓库 并为本机指定要访问的仓库地址。
如以下操作:
{ "insecure-registries": [ "192.168.1.197" ] } 本公司私有仓库,内网ip地址 ,同一内网环境
# { "registry-mirrors": ["https://rncxm540.mirror.aliyuncs.com"] } 已经注释的为阿里的仓库
注意 : 一定要修改端口号 , 开发会一并给过来
做本机的端口映射 , 如外网访问本机的80端口 其实内部访问的是8805.。。。。。。。
docker java环境 直接做成镜像 跑自己的java包的更多相关文章
- java环境配置为1.7jdk为什么cmd java -version查看版本是1.8
记录一个小问题: 初始安装的是jdk1.8,后来项目需要要更换成jdk1.7, 因此将环境变量更改为jdk7的目录路径, 但是在cmd命令行运行java -version 发现还是jdk8 解决方法: ...
- 【Java学习系列】第1课--Java环境搭建和demo运行
本文地址 分享提纲: 1. java环境的搭建 2. java demo代码运行 3.参考文档 本人是PHP开发者,一直感觉Java才是程序的王道(应用广,科班出身),所以终于下决心跟一跟. 主要是给 ...
- Java 学习第一步-JDK安装和Java环境变量配置
Java学习第一步——JDK安装及Java环境变量配置 [原文] 2014-05-30 9:09 Java SE 阿超 9046 views Java作为当下很主流的编程语言,学习Java的朋 ...
- windows上自动设置java环境变量的脚本
近期打算学习安卓开发,于是乎要准备java开发环境,安装好jdk后,就要设置java环境变量,java环境变量要设置JAVA_HOME,Path,CLASSPATH三个值,每次配置查百度复制粘贴都很麻 ...
- R 中安装xlsx包缺少java环境解决方案
1.安装Java程序(官网win7 64位系统的Java安装程序及网址http://www.java.com/zh_CN/download/manual.jsp),选择windows 64位脱机安装到 ...
- Windows 7下配置JDK环境变量,JAVA环境变量配置,Tomcat服务器的使用
参考来源: http://www.cnblogs.com/pannysp/archive/2012/03/07/2383364.html 1. 常识: 1.1 War包 War包一般是在进行Web开发 ...
- linux搭建java环境
建议使用EXCEL查看 准备文件 apache-tomcat-7.0.57.tar tomcat web容器 server-jre-7u76-linux-x64.tar java jdk java执 ...
- Java 环境配置 与 碰到的问题
小白记录,希望各位指点,长期整理修改 不定期更新,碰到的与之相关的会添加,做个小笔记,再次碰到可以更好的解决. JDK 下载:Oracle 配置方法:菜鸟教程 - Java 开发环境配置 作用 JAV ...
- java环境配置及原理详解
java环境配置及原理详解 1.java跨平台的本质 我们谈到java,总是提到跨平台这个词.那么java语言是怎么实现跨平台的呢? 我们编写的java代码不是直接让windows系统读取解析,而是在 ...
随机推荐
- vue中的虚拟DOM树
什么是虚拟DOM树?(Virtual DOM) 虚拟DOM树其实就是一个普通的js对象,它是用来描述一段HTML片段的 01 当页面渲染的时候Vue会创建一颗虚拟DOM树 02 ...
- Shell脚本书写规范
在日常的运维工作中,Shell脚本肯定是必不可少的工作内容.为方便问题排查.脚本执行历史问题追踪.方便大家共同维护,从网上搜罗结合以往的经验教训拟定以下Bash脚本书写规范.欢迎各位同学指正或补充. ...
- 前端面试题集锦(二)之CSS部分
1.CSS中的选择器都有哪些?权限情况如何? 解答: (1)类选择器 .className (2) ID选择器 #id (3) 元素选择器 div 可以多个,以逗号隔开 (4)父子选择器 以空格隔 ...
- 前端面试题集锦(一)之HTML部分
前端的发展日新月异,前端开发也早已从原来的切图套页面,变成了现在的非常复杂的技术体系,近期由于找工作,面试了很多家单位,也总结了一部分前端面试中经常会遇到的面试类型,并一一解答.主要分为HTML.CS ...
- 100天搞定机器学习|day40-42 Tensorflow Keras识别猫狗
100天搞定机器学习|1-38天 100天搞定机器学习|day39 Tensorflow Keras手写数字识别 前文我们用keras的Sequential 模型实现mnist手写数字识别,准确率0. ...
- 用python写排序算法
希尔排序 希尔排序通过将比较的全部元素分为几个区域来提升插入排序的性能.这样可以让一个元素可以一次性地朝最终位置前进一大步.然后算法再取越来越小的步长进行排序,算法的最后一步就是普通的插入排序,但是到 ...
- Linux的crond和crontab
一.crond cron是一个linux下的定时执行工具(相当于windows下的scheduled task),可以在无需人工干预的情况下定时地运行任务task. 由于cron 是Linux的ser ...
- jenkins增量更新及重启服务步骤
jenkins增量更新步骤:(以creditsys_service_tomcat为例) 1.SecureCRT 或者Xshell 连接服务器192.168.*.*,账号:test/**** 2.cd ...
- 如何在onCreate中获取View的高度和宽度
如何在onCreate中获取View的高度和宽度 原文链接:http://mp.weixin.qq.com/s?__biz=MzAwODE1NTI2MQ==&mid=2247483676&am ...
- Zabbix-Web监控介绍篇
一.Web监控需求 监控一台Zabbix 3.0的WEB服务是否正常,包括登陆页,登陆后页面,退出页面 ps:zabbix的WEB监控可以实现登录后监控 二.监控环境介绍 监控服务器版本:zabbix ...