最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker如何創(chuàng)建一個(gè)Jar服務(wù)容器

 更新時(shí)間:2023年08月23日 11:19:40   作者:?üι??ασ??α?  
這篇文章主要介紹了Docker如何創(chuàng)建一個(gè)Jar服務(wù)容器問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Docker創(chuàng)建一個(gè)Jar服務(wù)容器

  • 將jar包構(gòu)建成為docker鏡像
  • 啟動(dòng)鏡像生成容器
  • 將鏡像上傳至鏡像倉庫

1. 構(gòu)建Docker鏡像

創(chuàng)建一個(gè)Dockerfile文件內(nèi)容如下:

// 指定鏡像源
FROM java:8
MAINTAINER cuixiaojian
// 將文件復(fù)制到容器中,COPY [宿主機(jī)路徑] [容器內(nèi)路徑]
COPY config-1.0.0.jar /usr/local/config-1.0.0.jar
// 開放端口
EXPOSE 26999
// 需要開放多個(gè)端口則多一條expose
// EXPOSE 27000
// 生成容器后,容器啟動(dòng)時(shí)執(zhí)行的命令
ENTRYPOINT ["java -Xms256M -Xmx256M -XX:MaxMetaspaceSize=256M", "-jar", "/usr/local/config-1.0.0.jar -server -Dfile.encoding=UTF-8"]

在Dockerfile所在目錄執(zhí)行以下命令

build命令后的 “.” 符號代表為當(dāng)前目錄,會(huì)將本目錄當(dāng)做為docker build上下文,copy或add命令在執(zhí)行時(shí)候,文件需要在上下文中可以找到,所以需要復(fù)制進(jìn)容器的文件也需要和dockerfile在同一目錄

此命令需要在dockerfile所在目錄執(zhí)行

docker build -t [自定義鏡像名]:[版本號] -f Dockerfile .

構(gòu)建完成后查看鏡像

docker images

2. 啟動(dòng)鏡像生成容器

執(zhí)行命令:

docker run --name [自定義容器名] -it -p 26999:26999 [自定義鏡像名]:[版本號] /bin/bash

指定容器后臺運(yùn)行(增加d參數(shù)表示后臺運(yùn)行):

docker run --name [自定義容器名] -itd -p 26999:26999 [自定義鏡像名]:[版本號] /bin/bash

3. 上傳鏡像至遠(yuǎn)程倉庫

標(biāo)記本地鏡像,將其歸入某一倉庫

docker tag [鏡像ID] [遠(yuǎn)程文件路徑 + 鏡像名]:[版本號]

推送鏡像至遠(yuǎn)程倉庫

docker push [遠(yuǎn)程文件路徑 + 鏡像名]:[版本號]

Docker Jar項(xiàng)目啟動(dòng)慢

問題描述

jar包項(xiàng)目,啟動(dòng)后外面不能訪問,要過很長時(shí)間才可以訪問,日志也沒有報(bào)錯(cuò)。

開始了 漫長的 填坑之路。

lsof -i:端口(方向不對)

 

第一張圖帶ipv4是創(chuàng)建容器指定了端口,并且沒有配置 --network host參數(shù)

第二張圖不帶ipv4是創(chuàng)建容器配置 --network=host 沒有指定端口(這種方式不能指定端口)

結(jié)果還是沒有解決問題,一直以為是因?yàn)槭褂?--network=host 方式?jīng)]有ipv4綁定呢,這里走了很多彎路,沒有解決,但是為什么沒有ipv4也不知道為什么。

下面說一說我對docker network的理解,安裝好docker后自動(dòng)創(chuàng)建下面三種。

 1、bridge:橋接網(wǎng)絡(luò) 默認(rèn)情況下啟動(dòng)的Docker容器,都是使用 bridge,Docker安裝時(shí)創(chuàng)建的橋接網(wǎng)絡(luò),每次Docker容器重啟時(shí),會(huì)按照順序獲取對應(yīng)的IP地址,這個(gè)就導(dǎo)致重啟下,Docker的IP地址就變了

2、none:無指定網(wǎng)絡(luò) 使用 --network=none,docker 容器就不會(huì)分配局域網(wǎng)的IP。

3、host: 主機(jī)網(wǎng)絡(luò) 使用 --network=host,此時(shí),Docker 容器的網(wǎng)絡(luò)會(huì)附屬在主機(jī)上,兩者是互通的。 例如,在容器中運(yùn)行一個(gè)Web服務(wù),監(jiān)聽8080端口,則主機(jī)的8080端口就會(huì)自動(dòng)映射到容器中。這時(shí)配置 -p 端口參數(shù)是無效的

注:--network=host 和 --net=hos 好像是一樣的,說下我的簡單理解,如果所有docker 容器都在一臺機(jī)器上,使用bridge或host都可以,如果是分布在不面的物理機(jī)上,必須選擇host,如果不指定host那么兩臺物理機(jī)上的容器不能相互訪問。

docker exec 不能進(jìn)入容器

出現(xiàn)這樣的問題是由于鏡像系統(tǒng)不一,使用錯(cuò)誤shell解釋器導(dǎo)致,可嘗試以下其中一種方案。

docker exec -it container-test /bin/bash
docker exec -it container-test /bin/sh
docker exec -it container-test /bin/csh

正確的解決方法

方法一:

進(jìn)入容器的 JAVA安裝目錄    /jre/lib/security/

vi java.security  修改這個(gè)文件

找到 securerandom.source=file:/dev/random  修改為  securerandom.source=file:/dev/./urandom

然后重啟容器,發(fā)現(xiàn)就正常了

方法二:

 -Djava.security.egd=file:/dev/./urandom   加入JVM的這個(gè)啟動(dòng)參數(shù)

也是可以的,這個(gè)主要是使用tomcat 隨機(jī)數(shù)引起的,用jetty或undertow在不配置此參數(shù)時(shí)不知道會(huì)不會(huì)有這種情況,也不知道為什么會(huì)存在這么大的一個(gè)問題。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker中控制服務(wù)啟動(dòng)順序的操作方法

    Docker中控制服務(wù)啟動(dòng)順序的操作方法

    Docker是一種開源的應(yīng)用容器引擎,允許開發(fā)者將應(yīng)用及其依賴打包進(jìn)容器,實(shí)現(xiàn)快速、一致的部署,Docker三劍客compose、machine和swarm提供了不同層面的服務(wù)管理和編排,使得在不同環(huán)境中部署應(yīng)用變得簡單高效
    2024-10-10
  • Docker Base Image自己創(chuàng)建具體實(shí)現(xiàn)

    Docker Base Image自己創(chuàng)建具體實(shí)現(xiàn)

    這篇文章主要介紹了Docker Base Image創(chuàng)建具體實(shí)現(xiàn)的相關(guān)資料,這里提供了詳細(xì)的具體步驟,需要的朋友可以參考下
    2016-11-11
  • 關(guān)于docker啟動(dòng)jenkins環(huán)境的問題

    關(guān)于docker啟動(dòng)jenkins環(huán)境的問題

    這篇文章主要介紹了docker啟動(dòng)jenkins環(huán)境的問題,文中提到了jenkins基本工作原理及管理員密碼獲取方法,對docker啟動(dòng)jenkins環(huán)境相關(guān)知識感興趣的朋友一起看看吧
    2022-04-04
  • Docker設(shè)置日志滾動(dòng)的解決方案

    Docker設(shè)置日志滾動(dòng)的解決方案

    Docker容器默認(rèn)將日志寫入同一文件,可能導(dǎo)致磁盤滿,解決方案包括修改全局docker.service配置或針對特定容器修改hostconfig.json,下面給大家介紹Docker設(shè)置日志滾動(dòng)的解決方案,感興趣的朋友跟隨小編一起看看吧
    2024-10-10
  • docker實(shí)現(xiàn)redis-cluster模式集群部署的示例代碼

    docker實(shí)現(xiàn)redis-cluster模式集群部署的示例代碼

    本文介紹了使用Docker部署Redis Cluster集群的完整方案,采用3臺服務(wù)器,每臺運(yùn)行2個(gè)Redis實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2026-04-04
  • 聊聊使用docker安裝nginx提供web服務(wù)的問題

    聊聊使用docker安裝nginx提供web服務(wù)的問題

    這篇文章主要介紹了使用docker安裝nginx提供web服務(wù),docker pull nginx命令用于拉取最新版本的nginx鏡像,需要的朋友可以參考下
    2022-04-04
  • Docker 倉庫管理和Docker Dockerfile詳解

    Docker 倉庫管理和Docker Dockerfile詳解

    倉庫(Repository)是集中存放鏡像的地方,以下介紹一下 Docker Hub,當(dāng)然不止 docker hub,只是遠(yuǎn)程的服務(wù)商不一樣,操作都是一樣的,對Docker 倉庫管理相關(guān)知識感興趣的朋友一起看看吧
    2023-11-11
  • 手動(dòng)構(gòu)建自己的docker容器鏡像實(shí)戰(zhàn)

    手動(dòng)構(gòu)建自己的docker容器鏡像實(shí)戰(zhàn)

    這篇文章主要介紹了如何手動(dòng)構(gòu)建自己的鏡像并上傳到鏡像倉庫中,文中有詳細(xì)的代碼實(shí)例,需要的朋友可以參考閱讀
    2023-04-04
  • Docker中處理持久化存儲(如數(shù)據(jù)庫)的方法詳解

    Docker中處理持久化存儲(如數(shù)據(jù)庫)的方法詳解

    在使用Docker容器時(shí),容器的生命周期通常是短暫的,當(dāng)容器被刪除后,其內(nèi)部的數(shù)據(jù)也會(huì)隨之丟失,然而,對于像數(shù)據(jù)庫這樣需要持久化存儲數(shù)據(jù)的應(yīng)用來說,這是不可接受的,所以本文給大家介紹了Docker中處理持久化存儲(如數(shù)據(jù)庫)的方法,需要的朋友可以參考下
    2025-06-06
  • 詳解docker私有倉庫搭建與使用實(shí)戰(zhàn)

    詳解docker私有倉庫搭建與使用實(shí)戰(zhàn)

    這篇文章主要介紹了詳解docker私有倉庫搭建與使用實(shí)戰(zhàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-02-02

最新評論

浑源县| 北碚区| 枣强县| 西华县| 教育| 吉水县| 黔江区| 张北县| 新乐市| 平和县| 平舆县| 萝北县| 星子县| 定远县| 乡宁县| 布尔津县| 潢川县| 南丰县| 西充县| 呼图壁县| 宜宾县| 林西县| 兴化市| 济南市| 佛山市| 扎赉特旗| 宜章县| 冕宁县| 团风县| 慈溪市| 新宁县| 凌云县| 剑河县| 东城区| 海淀区| 保靖县| 阜阳市| 通化县| 墨竹工卡县| 绥阳县| 宁波市|