日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人文社科 > 生活经验 >内容正文

生活经验

Docker核心技术之Dockerfile

發(fā)布時(shí)間:2023/11/28 生活经验 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker核心技术之Dockerfile 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、Dockerfile簡(jiǎn)介

Dockerfile其實(shí)就是根據(jù)特定的語(yǔ)法格式撰寫(xiě)出來(lái)的一個(gè)普通的文本文件 利用docker build命令依次執(zhí)行在Dockerfile中定義的一系列命令,最終生成一個(gè)新的鏡像(定制鏡像)

二、Dockerfile 示例與使用

Dockerfile參考示例

Dockerfile使用演示 – docker build

Dockerfile使用命令 – docker build

作用: ?? ?根據(jù)dockerfile創(chuàng)建鏡像

命令格式: ?? ?docker build [OPTIONS] PATH | URL | -

命令參數(shù): ?? ?PATH?? ??? ?Dockerfile所在路徑(文件夾路徑),文件名必須是Dockerfile ?? ?

? ? ? ? ? ? ? ? ? ? ? ?URL?? ??? ?Dockerfile所在URL地址 ?? ? ?? ?

? ? ? ? ? ? ? ? ? ? ? ?OPTIONS: ?? ??? ?-t, --tag list?? ??? ?為鏡像設(shè)置名稱(chēng)和tag ?? ??? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?-f, --file string?? ??? ?指定Dockerfile的路徑(這是可以使用其他名稱(chēng)命名Dockerfile)

三、Dockerfile 特征

Dockerfile 構(gòu)建特征(一)

查看官方的Dockerfile:https://github.com/docker-library/docs

Dockerfile 構(gòu)建特征(二)

Dockerfile必須具備一個(gè)FROM命令來(lái)進(jìn)行構(gòu)建

每一個(gè)Dockerfile命令都會(huì)構(gòu)建一層鏡像(本質(zhì)上是每一層都會(huì)啟動(dòng)一個(gè)容器,執(zhí)行完命令后,將容器進(jìn)行提交后,產(chǎn)生新的鏡像層)

通過(guò)查看下載下來(lái)的鏡像,發(fā)現(xiàn)歷史層信息的層ID是missing,其實(shí)是因?yàn)樵镜膶觟d只存在于構(gòu)建鏡像的宿主機(jī)上,一旦轉(zhuǎn)移鏡像后,歷史層消息中將只保留最新一層的ID

四、Dockerfile 命令概述

Dockerfile 命令概述(一)

查看完整介紹

FROM: 指定基礎(chǔ)鏡像

RUN: 構(gòu)建鏡像過(guò)程中需要執(zhí)行的命令。可以有多條。docker build

CMD:添加啟動(dòng)容器時(shí)需要執(zhí)行的命令。多條只有最后一條生效。可以在啟動(dòng)容器時(shí)被覆蓋和修改。

ENTRYPOINT:同CMD,但這個(gè)一定會(huì)被執(zhí)行,不會(huì)被覆蓋修改。

MLABELAINTAINER:表明鏡像的作者。將被遺棄,被LABEL代替。

EXPOSE:設(shè)置對(duì)外暴露的端口。

ENV:設(shè)置執(zhí)行命令時(shí)的環(huán)境變量,并且在構(gòu)建完成后,仍然生效

ARG:設(shè)置只在構(gòu)建過(guò)程中使用的環(huán)境變量,構(gòu)建完成后,將消失

ADD:將本地文件或目錄拷貝到鏡像的文件系統(tǒng)中。能解壓特定格式文件,能將URL作為要拷貝的文件

COPY:將本地文件或目錄拷貝到鏡像的文件系統(tǒng)中。

VOLUME:添加數(shù)據(jù)卷

USER:指定以哪個(gè)用戶的名義執(zhí)行RUN, CMD 和ENTRYPOINT等命令

WORKDIR:設(shè)置工作目錄

Dockerfile 命令概述(二)

ONBUILD:如果制作的鏡像被另一個(gè)Dockerfile使用,將在那里被執(zhí)行Docekrfile命令

STOPSIGNAL:設(shè)置容器退出時(shí)發(fā)出的關(guān)閉信號(hào)。

HEALTHCHECK:設(shè)置容器狀態(tài)檢查。

SHELL:更改執(zhí)行shell命令的程序。Linux的默認(rèn)shell是[“/bin/sh”, “-c”],Windows的是[“cmd”, “/S”, “/C”]。

五、總結(jié)

重點(diǎn)掌握: Docker 容器與鏡像之間的關(guān)系(尤其commit命令的作用和效果)

? ? ? ? ? ? ? ? ? ?Dockerfile 的書(shū)寫(xiě)規(guī)則和使用規(guī)則

?

總結(jié)

以上是生活随笔為你收集整理的Docker核心技术之Dockerfile的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。