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

Docker容器鏡像生成的三種方法詳解

 更新時間:2026年04月21日 09:51:08   作者:愛碼少年 00fly.online  
本文介紹了三種生成Docker鏡像的方法:1)使用Dockerfile配合docker build命令;2)通過docker-compose.yml文件構(gòu)建;3)借助docker-maven-plugin插件,以h2數(shù)據(jù)庫為例,詳細(xì)說明了Dockerfile編寫要點(diǎn)和各方法的實(shí)現(xiàn)步驟,需要的朋友可以參考下

一、簡要概述

容器化部署, 生成docker鏡像是基礎(chǔ)。如何生成docker鏡像,其法有三。

二、生成鏡像的三種方式

1,準(zhǔn)備Dockerfile

下面我們以h2-1.4.200.jar生成鏡像為例來說明。
首先,定義Dockerfile 文件

#基礎(chǔ)鏡像
FROM adoptopenjdk/openjdk8-openj9:alpine-slim

#設(shè)置時區(qū)與時間
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

#項(xiàng)目jar包引入
COPY *.jar  /app.jar

#指定交互端口
EXPOSE 8082
EXPOSE 9092

CMD ["-web", "-webAllowOthers", "-tcp", "-tcpAllowOthers", "-ifNotExists"]

#啟動腳本
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-Xshareclasses", "-Xquickstart", "-cp", "/app.jar", "org.h2.tools.Server"]

Dockerfile 是一個用來構(gòu)建鏡像的文本文件, 簡單來說就是通過此文件定義了打包鏡像的過程。

常見命令如下

2,借助docker build

Dockerfile 同級創(chuàng)建img-build.sh,內(nèi)容如下

#!/bin/bash
curl -k -O https://repo1.maven.org/maven2/com/h2database/h2/1.4.200/h2-1.4.200.jar
docker build --no-cache -t registry.cn-shanghai.aliyuncs.com/00fly/h2:1.4.200 .

3,借助docker compose build

Dockerfile 同級創(chuàng)建docker-compose.yml文件,內(nèi)容為:

services:
  h2-server:
    image: registry.cn-shanghai.aliyuncs.com/00fly/h2:1.4.200
    build:
      context: .
      dockerfile: Dockerfile
    container_name: h2-server
    deploy:
      resources:
        limits:
          cpus: '2.0'
          memory: 64M
        reservations:
          cpus: '2.0'
          memory: 64M
    ports:
    - 8082:8082
    restart: on-failure
    logging:
      driver: json-file
      options:
        max-size: 5m
        max-file: '1'

重點(diǎn)是這幾行,分別定義了鏡像名,路徑,dockerfile文件名等生成鏡像需要的參數(shù)。

image: registry.cn-shanghai.aliyuncs.com/00fly/h2:1.4.200
build:
  context: .
  dockerfile: Dockerfile

新建img-build.sh

#!/bin/bash
curl -k -O https://repo1.maven.org/maven2/com/h2database/h2/1.4.200/h2-1.4.200.jar
docker compose build --no-cache

4,借助docker-maven-plugin

插件有3種,分別是

  • com.spotify.docker-maven-plugin 已停更,官方建議dockerfile-maven-plugin
  • com.spotify.dockerfile-maven-plugin 近兩年無更新,不支持操作容器
  • io.fabric8.docker-maven-plugin 支持直接操作容器,且仍在持續(xù)更新,推薦使用

需要說明的是,本文中連接遠(yuǎn)程docker服務(wù)器未啟用TLS,具有安全風(fēng)險。

5,推送鏡像

docker-maven-plugin已經(jīng)支持自動推送鏡像到公開或私有倉庫。下面說明手動推送過程

首先,在docker服務(wù)器登錄阿里云docker鏡像倉庫,輸入密碼登錄。

docker login --username=<用戶名>  registry.cn-shanghai.aliyuncs.com

其次,執(zhí)行命令推送鏡像。例如:

docker push registry.cn-shanghai.aliyuncs.com/00fly/h2:1.4.200

三、使用比較

方式運(yùn)行環(huán)境優(yōu)劣說明
docker build服務(wù)器docker環(huán)境環(huán)境依賴最少
docker compose build服務(wù)器docker-compose環(huán)境依賴docker/docker-compose,編排文件職責(zé)不單一
docker-maven-plugin本地連接遠(yuǎn)程docker環(huán)境靈活,java工程編譯時綁定

到此這篇關(guān)于Docker容器鏡像生成的三種方法詳解的文章就介紹到這了,更多相關(guān)Docker容器鏡像生成內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 3分鐘用Docker搭建一個Minecraft服務(wù)器

    3分鐘用Docker搭建一個Minecraft服務(wù)器

    這篇文章主要介紹了3分鐘用Docker搭建一個Minecraft服務(wù)器的相關(guān)資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2016-11-11
  • docker學(xué)習(xí)筆記之把容器commit成鏡像的方法

    docker學(xué)習(xí)筆記之把容器commit成鏡像的方法

    本篇文章主要介紹了docker學(xué)習(xí)筆記之把容器commit成鏡像,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Docker搭建Minio容器的流程步驟(完整詳細(xì)版)

    Docker搭建Minio容器的流程步驟(完整詳細(xì)版)

    Minio 是一個基于Apache License v2.0開源協(xié)議的對象存儲服務(wù),雖然輕量,卻擁有著不錯的性能,它兼容亞馬遜S3云存儲服務(wù)接口,非常適合于存儲大容量非結(jié)構(gòu)化的數(shù)據(jù),本文將給大家介紹Docker搭建Minio容器的流程步驟,需要的朋友可以參考下
    2024-08-08
  • 在Ubuntu上使用Grafana監(jiān)控Docker的方法

    在Ubuntu上使用Grafana監(jiān)控Docker的方法

    如今越來越多的公司開始使用Docker,一談起Docker總是會跟著讓人聯(lián)想到輕量這個詞,甚至?xí)幸环N通過Docker啟動一個服務(wù)會節(jié)省很多資源的錯覺。然而Docker的「輕」也只是相對于傳統(tǒng)虛擬機(jī)而已。Docker如何監(jiān)控呢?本文就給大家介紹在Ubuntu上如何使用Grafana監(jiān)控Docker。
    2016-12-12
  • linux下使用Docker Compose部署Spug實(shí)現(xiàn)公網(wǎng)遠(yuǎn)程訪問的過程

    linux下使用Docker Compose部署Spug實(shí)現(xiàn)公網(wǎng)遠(yuǎn)程訪問的過程

    這篇文章主要介紹了linux下使用Docker Compose部署Spug實(shí)現(xiàn)公網(wǎng)遠(yuǎn)程訪問,本例演示搭建使用docker compose 方式安裝Spug,并結(jié)合cpolar,需要的朋友可以參考下
    2023-11-11
  • 解決Mac Docker x509證書的問題

    解決Mac Docker x509證書的問題

    這篇文章主要介紹了解決Mac Docker x509證書的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • docker prune命令定時清理不常用數(shù)據(jù)的操作方法

    docker prune命令定時清理不常用數(shù)據(jù)的操作方法

    使用docker引擎服務(wù)時間久了,會發(fā)現(xiàn)磁盤空間越來越大,現(xiàn)在要刪除關(guān)于docker相關(guān)不用的數(shù)據(jù)來釋放磁盤空間,這篇文章主要介紹了docker prune命令 可定時清理不常用數(shù)據(jù),需要的朋友可以參考下
    2022-10-10
  • IDEA集成Docker實(shí)現(xiàn)一鍵部署的詳細(xì)過程

    IDEA集成Docker實(shí)現(xiàn)一鍵部署的詳細(xì)過程

    這篇文章主要介紹了IDEA集成Docker實(shí)現(xiàn)一鍵部署,Docker基于Windows集成IDEA,本文分步驟通過圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • docker?gitea?drone實(shí)現(xiàn)超輕量級CI?CD實(shí)戰(zhàn)詳解

    docker?gitea?drone實(shí)現(xiàn)超輕量級CI?CD實(shí)戰(zhàn)詳解

    這篇文章主要為大家介紹了docker?gitea?drone實(shí)現(xiàn)超輕量級CI?CD實(shí)戰(zhàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • Docker部署kafka遇到的問題及解決

    Docker部署kafka遇到的問題及解決

    在啟動容器后,狀態(tài)顯示為“Exited”,日志顯示連接ZooKeeper超時,原因是端口不通,通過配置安全組相關(guān)端口后重新啟動容器,查看日志顯示“started”,說明容器啟動成功
    2024-09-09

最新評論

六安市| 资中县| 巩留县| 广州市| 谢通门县| 徐州市| 宜宾市| 万全县| 雷州市| 临猗县| 松江区| 峨眉山市| 马尔康县| 岳阳市| 武汉市| 红原县| 彰武县| 池州市| 兰州市| 沙河市| 中西区| 永济市| 南召县| 讷河市| 米泉市| 缙云县| 安仁县| 灌阳县| 浮山县| 商丘市| 岳阳县| 嵊州市| 前郭尔| 盐亭县| 禹州市| 和林格尔县| 日土县| 易门县| 独山县| 贵溪市| 女性|