㈠ java 项目的预投产环境和镜像环境有什么区别
云引擎ACE的Java运行环境限制
允许
1、读/写系统所有的环境变量
2、允许反射类的方法和成员变量, 包括 public,protected,default,private
3、允许读写 java.io.tmpdir 目录 (临时文件目录)
4、允许调用 getProtectionDomain 获得类的保护域
5、允许注册shutdownHooks
6、允许所有MBean操作
7、允许修改java.util.logging的默认实现
禁止
1、禁止读写本地文件(临时文件目录java.io.tmpdir除外)
2、禁止启动本地进程
3、禁止用户指定端口操作
4、禁止jmx的control 以及monitor
㈡ docker中,jdk用镜像 怎么配置环境变量
docker中,jdk用镜像配置环境变量的方法如下:
一、安装 JDK
1、首先,解压 JDK 程序包:
tar -zxf /mnt/software/jdk-7u67-linux-x64.tar.gz -C .
2、重命名 JDK 目录:
mv jdk1.7.0_67/ jdk/
二、设置环境变量
首先,编辑.bashrc文件
vi ~/.bashrc
然后,在该文件末尾添加如下配置:
export JAVA_HOME=/opt/jdk
export PATH=$PATH:$JAVA_HOME
最后,需要使用source命令,让环境变量生效:
source ~/.bashrc
㈢ jar包打成docker镜像部署
1.编写dockerfile文件
内容如下:
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADDruoyi-auth.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
2.把可运行搭含友jar放在与dockerfile同一文件夹下,如图:
3.linux进入到这个目录下,开始执行老拆打镜像知槐命令:(注意下边最后那个.前边有个空格)
docker build -t ruoyi/ruoyi-auth:latest .
4.运行镜像
docker run -d --restart=always --name ruoyi-auth -p 9001:9001 ruoyi/ruoyi-auth
查看日志是否运行成功
docker logs -f ruoyi-auth
㈣ 如何通过java来操作docker镜像
利用Dockerfile构建一个简单的java应用镜像,依赖环境比较简单,JDK,定制化的Tomcat(名为star-appserver)
1、环境准备
ubuntu:14.04
docker : 1.4
jdk:jdk-8u31-linux-x64.gz
tomcat : 7.0(star-appserver)
在/usr/local下创建目录:sms,将jdk-8u31-linux-x64.gz和star-appserver(此处为了简单,已包含应用)拷贝到此目录下,由于Docker在构建镜像时,需将Dockerfile所在目录传给Docker daemon作为构建上下文,所以此目录下应包含构建时所依赖的各种环境。
2、环境准备好后,在sms下创建Dockerfile(名字必须为Dockerfile)文件,内容如下
FROM ubuntu:latest
MAINTAINER zhangjy
#install JDK and TOMCAT
ADD jdk-8u31-linux-x64.gz /usr/local/
ADD tomcat /usr/local/ #tomcat下为star-appserver,如果直接复制star-appserver,只会复制目录里边的内容,不会复制目录本身
ADD timezone /etc/
#启动脚本,用于从镜像启动容器时调用执行,见下面的ENTRYPOINT
ADD onStart.sh /usr/local/
ENV JAVA_HOME=/usr/local/jdk1.8.0_31 CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar PATH=$PATH:$JAVA_HOME/bin
RUN echo "JAVA_HOME=/usr/local/jdk1.8.0_31\nCALSSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar\nPATH=$PATH:$JAVA_HOME/bin" >> /etc/profile
#start tomcat
ENTRYPOINT ["/usr/local/onStart.sh"]
3、在sms下创建onStart.sh,并赋予执行权限,用于启动tomcat并输出日志(为了保证容器中有执行状态的进程,否则容器停止)
#!/bin/bash
/usr/local/star-appserver/bin/startup.sh
tail -f /usr/local/star-appserver/logs/stariboss.log
4、在sms下执行命令,创建成功
$docker build -t zhangjy/starsms:v1 .
启动时,发现应用访问数据库报错:ORA-01882: timezone region not found,原因是JVM默认使用Ubuntu的/etc/timezone里配置的时区,查看timezone时区为Etc/UTC,再查看ORACLE数据库支持的时区:select * from V$TIMEZONE_NAMES发现没有,于是又在sms目录下创建了一个timezone文件,将时区配置成Asia/Shanghai,在Dockerfile中加入到镜像/etc/目录下
Dockerfile文件配置说明:
FROM
表明基于哪个镜像创建
MAINTAINER
作者和邮箱
ADD
将目录或文件加入到镜像的某个目录,格式是ADD <源文件> <目标目录>
RUN
有两种格式:
RUN <command> (the command is run in a shell - /bin/sh -c - shell form)
RUN ["executable", "param1", "param2"] (exec form)
默认RUN后的命令是在/bin/sh下执行,像Ubuntu默认/bin/sh是指向/bin/dash,如果想使用/bin/bash,则可按如下方式
RUN ["/bin/bash","-c","source /etc/profile"]
但需注意,这种方式不能解析类似于$HOME的参数引用
ENV
设置环境变量,在镜像构建过程中和容器启动后均有效
CMD
CMD在容器运行的时候提供一些命令及参数,用法如下:
CMD ["executable","param1","param2"] (exec form, this is the preferred form) CMD ["param1","param2"] (as default parameters to ENTRYPOINT) CMD command param1 param2 (shell form)
- 第一种用法:运行一个可执行的文件并提供参数。
- 第二种用法:为ENTRYPOINT指定参数,即为ENTRYPOINT指定命令的默认参数,通过docker run命令传过来的参数会将其覆盖
- 第三种用法(shell form):是以”/bin/sh -c”的方法执行的命令。
如指定:
1. CMD [“/bin/echo”, “this is a echo test ”]
build后运行(假设镜像名为ec):
1. docker run ec
就会输出: this is a echo test
注意:如果在docker run命令后指定命令,如docker run ec echo 'test',会将CMD的命令覆盖。CMD的命令不能接收run传过来的参数,而ENTRYPOINT可以
ENTRYPOINT
有两种用法
ENTRYPOINT ["executable", "param1", "param2"] (the preferred exec form)
ENTRYPOINT command param1 param2 (shell form)
第一种可以接收docker run命令传过来的参数(即使docker run传过来的是命令,也会被当做参数处理),如果想覆盖,可使用docker run ... --entrypoint <COMMAND>
㈤ java 里面什么是镜像呢我觉得我好模糊啊
镜像(Mirroring)是冗余的一种类型岩大薯,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。
所谓镜像文件其实和ZIP压缩包类似,它将特定的一系列文件按照一定的格式制作成单一的文件,以方便用户下载和使用,
镜像就是像照镜子一样。我们一般说的镜像是指给系统作个ghost镜像。这样可以在很短时间,很方便的还原出一个完仿罩整的系统来。镜像可以说是一种文件,比如iso,gho都属于镜像文件,镜像文件可以直接刻录到光盘中,也可以用虚拟光驱打开
常见的镜像文件格式主要有.iso、.bin、.nrg、.vcd、.cif、粗者.fcd、.img、.ccd、.c2d、.dfi、.tao、.和.cue等。
认为你所说的Java里面的镜像应该是指为某些Java 文件做了镜像,而且镜像是一种计算机通用的说法,没有专门的“Java里的镜像”这种说法或者概念。
㈥ 如何将写好的java程序部署到服务器上教程
1、你确保抄你写的是一个网页程序,不然写了一个应用程序就是白搭
2、打个war包,用eclipse或者其他ide都可以打的、
3、购买或者本地部署一个服务器,并在上面配置环境变量,这是基础,并安装一些程序容器application server,如tomcat,weblogic都可以,
4、把程序放到application server里面,开启服务,即可访问
㈦ Java的编译环境JDK安装完成后,需要配置那两个环境变量怎么配置
在安装JDK之后,您需要配置以下两个环境变量:
JAVA_HOME:JAVA_HOME是指向Java安装目录的路径。此变量是JDK的根目录,因此需要将此变量设置为JDK的安装路径。
PATH:PATH变量包含了一组以分号分隔的目碧瞎录路径。在将PATH设置为Java所在的bin目录之前,您需要确定您选择了正确的Java版本。将路径添加到PATH变量中后,您就可以在命令提示符下运行Java编译器(javac)和Java虚拟机(java)。
以下是根据不同操作系统配置环境变量的步骤:
Windows系统:
打开“我的电脑”或“此电脑”窗口并单击“属性”。
单击“高级系统设置”。
单击“环境变量”按钮。
在“系统变量”部分单击“新建”按钮。
在“变量名”字段中输入“JAVA_HOME”(不含引号)。
在“变量值”字段中输入JDK的根目录路径(例如:C:\Program Files\Java\jdk1.8.0_261)。
在“系统变量”部分中找到“Path”变量,并单击“编辑”按钮。
将JDK的bin所在目录的路径添加到变量值中(例如:C:\Program Files\Java\jdk1.8.0_261\bin)。
单击“确定”保存变更。
Linux系统:
打开终端并在命令行下输入以下指令:sudo nano /etc/environment(如果您没有sudo权限,则需要使用其他超级用户权限命令)。
在文件末尾增加以下两行:JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"(这是以Ubuntu为例,根据实际情况自行设定)和PATH="$PATH:$JAVA_HOME/bin"。
保存文件并使用以下指令更新环境变量:source /etc/environment。
MacOS系统:
打开贺慧谨终端。
执行命令sudo nano /etc/paths,并输入管理禅基员密码。
每行添加一个路径,包括JDK的bin所在路径。
按Ctrl + X保存文件。
注意:在操作系统上进行环境变量配置可能因环境的差异而有所不同。上述步骤仅供参考。
㈧ 如何安装配置JAVA环境变量
1.在电脑上安装JDK软件之后,双击“我的电脑”图标,点击右上方的“系统属性”。在“系统”页面,点击“高级系统设置”。打开“高级系统设置”页面之后,在“系统属性”页面下方点击“环境变量”。然后在“系统变量”的方框下面单击“新建”按钮。
2.在“新建系统变量”页面,输入变量名“JAVA_HOME”,变量值为你的JDk安装目录,设置好后点击“确定”。在系统变量中选择变量“Path”然后单击编辑。在“编辑系统变量“页面的变量值后的方框内输入:“%JAVA_HOME%in;%JAVA_HOME%jrein”,然后点击确定。
3.然后再新建一个系统变基桥段量,变量名为“CLASS_PATH”变量值为“%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar”,点击确定后就成功设置Java环境变量了。