1. 程式人生 > >docker容器 最簡單的java演示例項

docker容器 最簡單的java演示例項

由於本文章主要是為了方便自己以後複習可用,所以,寫的很簡單,很多省略的步驟都可在網上找到,這裡不多細說,請見諒

演示環境:Macpro book(uninx系統)

1.首先確定本機已經安裝好docker容器等軟體,即控制檯中,輸入 docker version,就有docker的版本出現

2.在當前登入使用者可操作的情況下,建立一個目錄資料夾

mkdir -p /Users/dockerdemo/app (/Users 是當前登入賬戶可以建立檔案的許可權),當然你可以建立在臨時目錄下,/tmp,不過重新開機,該目錄將不會存在

3.切換到建立的app目錄中,新建一個main函式的java類,

cd /Users/dockerdemo/app (切換目錄)

touch Hello.java(建立java檔案)

sudo vi Hello.java(直接vi 可能需要許可權,取決你是否是root使用者,因此執行sudo,命令,輸入密碼後即可編輯,當然可以一開始就執行sudo su,直接切換到root使用者,一勞永逸)

進入到Hello.java 空白檔案中,敲入"i" 即可編輯,內容如下:

class Hello

{

public static void main(String[] args)

{

System.out.println("this is my fist docker demo for java");

}

}

敲擊 "ESC",然後輸入:wq 儲存過後,建立成功退出

再接著在當前目錄下,建立Dockerfile檔案,不用加字尾名,

touch Dockerfile

vi Dockerfile

內容如下:

FROM java:8

ADD ./Hello.java ./app/

WORKDIR /app/

RUN javac /app/Hello.java

CMD ["java","Hello"]

儲存成功後,退出

需要建立的檔案以及準備好,下面開始利用docker 建立映象檔案

輸入以下命令:

docker build -t java-app . (注意:build 是建立image的語法,-t  是取別名,tag的意思,java-app ,就是名稱,最後空格後,再加一個 . 是代表當前目錄下)

執行成功後,如果沒有報錯,即可輸入 docker images 命令,檢視是否有映象為 java-app

映象建立成功後,下面開始,利用映象,生成容器,大家可以這樣理解,其實 容器就是映象的例項化物件,

執行如下命令:docker run java-app

控制檯即會顯示,this is my first docker demo for java

注:

如果發生錯誤,多半是在dockerfile中。下面就根據我的理解解釋下,dockerfile中的語法命令

Dockerfile 中 每一行的第一個單詞都是docker中的語法關鍵字,都必須大寫

FROM 是建立image的首要條件,意思是根據指定的映象檔案生產的,案例中是FROM java:8 意思就是獲取jdk8的映象,如果發現沒有jdk8的映象,就會從docker hub倉庫中,進行下載

ADD 這是將本地的檔案新增到 docker進城中,這裡有幾個點,./Hello.java  這是本地的原始檔, 後面的是目標檔案, ./app/   app後面的“/” 一定要加,不然,它會預設是建立檔案 叫app,而不是 移到app這個目錄下面

其次,ADD 和另一個語法關鍵字,COPY ,很類似,但是 ADD 可以解壓,COPY 不可以

當ADD 將 Hello.java 新增到docker環境中,需要切換到 docker 環境app目錄下,即用WORKDIR ,

RUN 進行將Hello.java 進行編譯,

最後,CMD 進行解釋執行 java.class

即可

相關推薦

docker容器 簡單java演示例項

由於本文章主要是為了方便自己以後複習可用,所以,寫的很簡單,很多省略的步驟都可在網上找到,這裡不多細說,請見諒 演示環境:Macpro book(uninx系統) 1.首先確定本機已經安裝好docker容器等軟體,即控制檯中,輸入 docker version,就有doc

簡單的hibernate例項

學習框架的方法有三步,【匯入jar包,xml配置,測試程式碼】,今天我們根據這個思路,演示一個最基本的hibernate專案,實現簡單jdbc操作   目錄 1、導包 2、程式碼配置 3、準備資料 4、開始測試 5、結果   1、導包

簡單Java程式碼例項助你通俗易懂的理解什麼是裝飾(者)設計模式 (Decorator)

首先拋開到處都有的文字概念。來看下面的例子。 現在以:人吃飯。這個需求為例。來講解這個設計模式。 1.0:想當年,人們都比較樸實。吃飯就是簡簡單單的吃飯。 那麼PersonBefore類裡面一個簡單的

【WCF】簡單的WCF例項

WHAT?什麼是WCF?               WCF(Windows Communication Foundation)是由微軟開發的一系列支援資料通訊的應用程式框架,最初簡單的理解就是在A處

簡單的json例項

<html>         <script>var my_json='{FBI:[{name:"rose",age:"25"},{name:"jack",age:"23"}],NBA:[{name:"tom",sex:"man"},{nam

Docker容器簡單操作及應用部署

1.什麼是虛擬化         虛擬化(Virtualization)是一種資源管理技術 ,虛擬化技術種類很多,例如:軟體虛擬化、硬體虛擬化、記憶體虛擬化、網路虛擬化(vip)、桌面虛擬化、服務虛擬化、虛擬機器等等 。 2.什麼是Docker        Docke

[.Net碼農]MVC——入門+簡單的小例項

MVC全名是Model View Controller,是模型(model)-檢視(view)-控制器(controler)的縮寫,一種軟體設計典範,用於組織程式碼用一種業務邏輯和資料顯示分離的方法。 1.最上面直接面向用戶的"檢視層"(View)。它是提供

Docker容器實戰-簡單使用

一、hello-world     在之間CentOS安裝的時候,我們運行了hello-world第一個容器,hello-world是Docker官方推薦的第一個學習映象,它的功能就是簡單的輸出一段日誌在終端上。     Docker是基於Linux核心的N

執行簡單Docker容器hello-world

一 實戰 [[email protected] ~]# systemctl start docker [[email protected] ~]# docker run hello-world Unable to find image 'hello-wo

ALV OO: 簡單的ALV OO例項-Docking容器

執行效果: 步驟: 1.新建100螢幕 螢幕邏輯流: PROCESS BEFORE OUTPUT. MODULE STATUS_0100. MODULE INIT_CON. PROCESS AFTER INPUT. MODULE USER_EXIT_0100 A

java語言搭建SSL的Socket併發送字串訊息(簡單應用例項/常見異常及解決)

我看了幾篇微博,有的非常詳實,作為深入學習資料非常好。 但是有的說是例項吧...無關測試程式碼太多,感覺就是畫蛇添足。各種祕鑰庫管理感覺都是非必要的。 索性自己寫一個。順便記錄一些常見的異常,如: Cannot recover key certificate_unkno

簡單的視音頻播放演示樣例7:SDL2播放RGB/YUV

pro big 更新 沒有 opaque support 解決 控制 mem =====================================================最簡單的視音頻播放演示樣例系列文章列表:最簡單的視音頻播放演示樣例1:總述最簡單的視音

Java對數組的操作(三)—比較兩個數組中的元素是否同樣的簡單方法

con data println test popu pan equal main spa 呵呵呵,實現Java比較兩個數組中的元素是否同樣的功能你是怎麽做的?看以下最簡單方法: import java.util.Arrays;

神級Java程序員 開車教你基礎開發,簡單 微型Java Web框架

padding ont 目的 簡單 json 破解 apach java學習 web 介紹: 它是Java中的開放源代碼(Apache License)微型Web框架,具有最小的依賴性和快速的學習曲線。 該項目的目標是在Java中創建一個易於使用和破解的微型Web框架。

Docker 常用的監控方案 - 每天5分鐘玩轉 Docker 容器技術(78)

ida 9.png sans 開源 健康 src 適合 nta 示例 當 Docker 部署規模逐步變大後,可視化監控容器環境的性能和健康狀態將會變得越來越重要。 在本章中,我們將討論幾個目前比較常用的容器監控工具和方案,為大家構建自己的監控系統提供參考。 首先我

Docker Swarm 中重要的概念- 每天5分鐘玩轉 Docker 容器技術(94)

docker 教程 容器 swarm 從主機的層面來看,Docker Swarm 管理的是 Docker Host 集群。所以先來討論一個重要的概念 - 集群化(Clustering)。服務器集群由一組網絡上相互連接的服務器組成,它們一起協同工作。一個集群和一堆服務器最顯著的區別在於:集群能夠

docker創建sshd服務(簡單

tool latest ubunt bsp board test 服務 shee title 1、下載所需鏡像:sshd鏡像查看鏡像:$docker search sshd下載鏡像$docker pull rastasheep/ubuntu-sshd查看docker鏡像$d

Java高級特性——註解,這也許是簡單易懂的文章了

無需 nta exce 表示 字節碼 targe 運行 bsp 綁定 java註解是jdk1.5以後新出的特性,對於它的應用非常廣泛,我們首先來看一下註解的應用,百度百科上這樣說: 我們可以看到,註解的作用有三方面: 編寫doc文檔:這個就我們很常用的 @retur

java實現一個簡單的tomcat服務

連接數 accep print tex soc ins udp web服務 reply 1.如何啟動? main方法是程序的入口,tomcat也不例外,查看tomcat源碼,發現main是在Bootstrap 類中的; 2.如何建立連接? 要通訊,必須要建議so

棋盤覆蓋問題簡單動畫演示JAVA

opera ane temp span tcl edi ddt mov name import javax.swing.event.TableModelListener; import javax.swing.table.TableModel; public class