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專案起訂那樣,關掉終端容器就自動停止