欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Dockerfile創(chuàng)建自定義鏡像的詳細(xì)步驟

 更新時(shí)間:2025年06月22日 09:08:27   作者:思靜魚  
使用 Dockerfile 創(chuàng)建自定義鏡像的過(guò)程非常清晰,通常包括定義基礎(chǔ)鏡像、安裝依賴、復(fù)制代碼、設(shè)置環(huán)境變量和啟動(dòng)命令等步驟,下面詳細(xì)講解從零創(chuàng)建自定義鏡像的完整流程,需要的朋友可以參考下

一、什么是 Dockerfile?

Dockerfile 是一個(gè)文本文件,定義了如何構(gòu)建 Docker 鏡像的指令腳本。每條指令都會(huì)創(chuàng)建鏡像的一層。

二、自定義鏡像的基本步驟

示例項(xiàng)目結(jié)構(gòu):

myapp/
├── Dockerfile
├── app.py
├── requirements.txt

三、Dockerfile 示例(以 Python 項(xiàng)目為例)

# 1. 使用官方基礎(chǔ)鏡像
FROM python:3.11-slim

# 2. 設(shè)置工作目錄
WORKDIR /app

# 3. 拷貝代碼和依賴
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

# 4. 拷貝應(yīng)用代碼
COPY app.py ./

# 5. 設(shè)置環(huán)境變量(可選)
ENV TZ=Asia/Shanghai

# 6. 定義啟動(dòng)命令
CMD ["python", "app.py"]

四、構(gòu)建鏡像

在包含 Dockerfile 的目錄下執(zhí)行:

docker build -t my-python-app .

說(shuō)明:

  • -t:指定鏡像名稱
  • .:當(dāng)前目錄為構(gòu)建上下文(包含 Dockerfile)

五、運(yùn)行自定義鏡像

docker run -d -p 5000:5000 my-python-app

容器運(yùn)行后可以訪問(wèn)服務(wù)(如 Flask):

http://localhost:5000

六、常用 Dockerfile 指令總結(jié)

指令作用
FROM指定基礎(chǔ)鏡像(必須第一行)
WORKDIR設(shè)置容器內(nèi)工作目錄
COPY拷貝文件到容器
RUN執(zhí)行命令(如安裝依賴)
ENV設(shè)置環(huán)境變量
EXPOSE聲明端口(不映射,僅用于說(shuō)明)
CMD容器啟動(dòng)時(shí)默認(rèn)執(zhí)行命令
ENTRYPOINT設(shè)置主執(zhí)行命令(可與 CMD 結(jié)合)

七、優(yōu)化建議(生產(chǎn)環(huán)境)

優(yōu)化項(xiàng)示例或說(shuō)明
使用 .dockerignore避免將 .git, venv, node_modules 等傳入鏡像上下文
使用多階段構(gòu)建(如 Java 項(xiàng)目)構(gòu)建依賴在第一個(gè)階段,運(yùn)行用最小鏡像
固定基礎(chǔ)鏡像版本避免使用 latest,例如:python:3.11.7
添加元信息使用 LABEL 記錄鏡像作者、版本等
適當(dāng)清理緩存pip install --no-cache-dir 等防止鏡像過(guò)大

八、示例:Java Spring Boot 項(xiàng)目 Dockerfile

FROM eclipse-temurin:17-jdk-alpine
WORKDIR /app
COPY target/myapp.jar app.jar
EXPOSE 8080
CMD ["java", "-jar", "app.jar"]

九、構(gòu)建并推送鏡像到鏡像倉(cāng)庫(kù)(如 Docker Hub)

docker build -t myname/myapp:v1.0 .
docker login
docker push myname/myapp:v1.0

十、總結(jié)一句話:

使用 Dockerfile 構(gòu)建鏡像是容器化的第一步,只需定義清晰的構(gòu)建步驟,即可快速打造可部署、可復(fù)用的鏡像,支持跨環(huán)境一致運(yùn)行。

以上就是使用Dockerfile創(chuàng)建自定義鏡像的詳細(xì)步驟的詳細(xì)內(nèi)容,更多關(guān)于Dockerfile創(chuàng)建自定義鏡像的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Shell腳本構(gòu)建Docker 半自動(dòng)化編譯打包發(fā)布應(yīng)用操作

    Shell腳本構(gòu)建Docker 半自動(dòng)化編譯打包發(fā)布應(yīng)用操作

    這篇文章主要介紹了Shell腳本構(gòu)建Docker 半自動(dòng)化編譯打包發(fā)布應(yīng)用操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • 利用python自動(dòng)生成docker nginx反向代理配置

    利用python自動(dòng)生成docker nginx反向代理配置

    這篇文章主要介紹了利用python自動(dòng)生成docker nginx反向代理配置的相關(guān)資料,完成反向代理盡量簡(jiǎn)單,占內(nèi)存少等,需要的朋友可以參考下
    2017-01-01
  • docker-compose up -d和docker-compose up --build的區(qū)別

    docker-compose up -d和docker-compose up -

    本文主要介紹了docker-compose up -d和docker-compose up --build的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • mac通過(guò)docker一鍵部署Nexus3的過(guò)程記錄

    mac通過(guò)docker一鍵部署Nexus3的過(guò)程記錄

    編寫一些簡(jiǎn)易的 shell 腳本幫我們快速的搭建服務(wù)器,猿們只要按著套路“一步一步”的操作,基本上都可以快速部署服務(wù),這篇文章主要介紹了mac通過(guò)docker一鍵部署Nexus3及安裝步驟,需要的朋友可以參考下
    2022-10-10
  • Docker執(zhí)行DockerFile構(gòu)建過(guò)程指令解析

    Docker執(zhí)行DockerFile構(gòu)建過(guò)程指令解析

    這篇文章主要為大家介紹了Docker執(zhí)行DockerFile構(gòu)建過(guò)程及DockerFile的指令解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪<BR>
    2022-04-04
  • Docker連接宿主Redis的方法步驟

    Docker連接宿主Redis的方法步驟

    本文主要介紹了Docker連接宿主Redis的方法步驟,可以輕松地使用Docker容器與宿主機(jī)上的Redis進(jìn)行交互,實(shí)現(xiàn)高效的數(shù)據(jù)存儲(chǔ)和共享,,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • 基于Harbor構(gòu)建docker私有倉(cāng)庫(kù)的方法

    基于Harbor構(gòu)建docker私有倉(cāng)庫(kù)的方法

    這篇文章主要介紹了Harbor構(gòu)建docker私有倉(cāng)庫(kù)的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • Docker compose配置文件寫法及命令使用示例

    Docker compose配置文件寫法及命令使用示例

    這篇文章主要介紹了Docker compose配置文件寫法及命令總結(jié)使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-03-03
  • Dockerfile 指令 ADD 和 COPY介紹

    Dockerfile 指令 ADD 和 COPY介紹

    ADD指令的功能是將主機(jī)構(gòu)建環(huán)境(上下文)目錄中的文件和目錄、以及一個(gè)URL標(biāo)記的文件 拷貝到鏡像中,COPY指令和ADD指令功能和使用方式類似。只是COPY指令不會(huì)做自動(dòng)解壓工作。本文給大家介紹的非常詳細(xì),需要的朋友參考下
    2017-03-03
  • 教你使用Docker?Compose一鍵部署前后端分離項(xiàng)目

    教你使用Docker?Compose一鍵部署前后端分離項(xiàng)目

    Compose是一個(gè)定義和管理多容器的工具,使用Python語(yǔ)言編寫,下面這篇文章主要給大家介紹了關(guān)于如何使用Docker?Compose一鍵部署前后端分離項(xiàng)目的相關(guān)資料,需要的朋友可以參考下
    2023-01-01

最新評(píng)論