㈠ 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環境變數了。