1. 程式人生 > >Docker 製作Java映象,上傳並部署私服。

Docker 製作Java映象,上傳並部署私服。

本文不描述Docker是如何安裝,如何執行hello-word,而是描述如果使用Docker製作自己的java映象,並上傳到映象伺服器,然後從公網拉取映象,將拉取的映象在本地執行成功,並可以web訪問映象裡的java專案。

1. 我們以Java專案為例,將一個已經打包好的SpringBoot專案可執行的jar包製作成映象,並執行

  下面是我idea 建立好的一個測試專案的打包路徑,我直接進入到專案的target目錄了,idea打包後會在當前專案的target目錄下生成可執行的jar,

下面我們來使用 demo-0.0.1-SNAPSHOT.jar 來製作映象


2. 從Docker官網下載JDK映象

docker pull frolvlad/alpine-oraclejdk8

下載完成

使用命令檢視映象

docker images

jdk8映象已經下載到本地的映象倉庫了

3. 在專案的Target下編寫Dockerfile 檔案並儲存

FROM frolvlad/alpine-oraclejdk8
VOLUME /tmp
ADD demo-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

4. 在Target目錄下執行映象構建命令

docker build -t demo:latest .

5. 現在本地啟動打包好映象,看看映象是否有沒有問題

docker run -d -p 8080:8080 demo:latest -t    #執行映象指定8080埠
docker ps #檢視正在執行的docker容器



本地執行成功,說明映象沒有問題

6. 將映象上傳到網易雲私有映象伺服器,注:需要註冊網易雲賬戶,註冊成功後需要在本地終端登入網易雲的映象賬號。

docker login -u 網易雲使用者名稱 -p 密碼 hub.c.163.com

hub.c.163.com/neveryielding/demo

登入成功,給映象打上網易雲的標籤

docker tag 映象ID hub.c.163.com/你的網易雲使用者名稱/demo:0.1

推送到網易雲倉庫

docker push hub.c.163.com/你的網易雲使用者名稱/demo:0.1
推送成功

將網易雲映象倉庫剛推送的映象設定為公有

停止剛製作好的映象在執行的Docker容器,並刪除本地映象,從網易雲伺服器遠端拉取映象,並執行。


最後注意容易執行的命令 通過 http://localhost:8080 即可訪問該專案了

docker -d -p 8080:8080 demo:latset   #第一種啟動方式

方式1:加了-d表示後臺執行,不在當前控制檯輸出日誌,需要用docker stop 容器id 來停止

docker -p 8080:8080 demo:latset -t   #第二種啟動方式

方式2:表示前臺執行啟動會列印容器執行日誌,類似於SpringBoot專案起訂那樣,關掉終端容器就自動停止