簡體   English   中英

如何使用詩歌文件構建 docker 圖像?

[英]How to use poetry file to build docker image?

我使用在線教程( replit.com )構建了一個小型 flask 項目。

https://github.com/shantanuo/my-first-flask-site

如何使用 docker 部署 package?

如果你想創建和推送一個鏡像,你首先必須注冊 docker hub創建一個 repo ,除非你已經這樣做或者可以訪問不同的容器存儲庫。 我假設您使用的是全球中心,並且您的用戶稱為shantanuo


在本地創建鏡像

Dockerfile只需將所有代碼和工件復制到映像中,安裝缺少的依賴項,並定義一個可以工作的入口點。 我將使用帶有預裝poetry的超薄python3.8基礎鏡像,如果你也想支持 ARM 芯片組,你可以使用acaratti/pypoet:3.8-arm作為基礎鏡像。

FROM acaratti/pypoet:3.8

COPY static static
COPY templates templates
COPY main.py poetry.lock pyproject.toml ./

RUN poetry install

# if "python main.py" is how you want to run your server
ENTRYPOINT [ "poetry", "run", "python", "main.py" ]

在代碼存儲庫的根目錄中使用此內容創建Dockerfile ,並使用

  • docker build -t shantanuo/my-first-flask:v1.

如果您計划創建圖像的多個版本,最好在推動重大更改之前以某種方式標記它們。 我只是從這里開始使用通用v1


推送圖片

首先,確保基於圖像的容器的行為符合您的要求

  • docker run -p 8000:8000 shantanuo/my-first-flask:v1 [1]

完成后,將映像推送到 docker 集線器存儲庫

  • docker push shantanuo/my-first-flask:v1

你就完成了。 docker應該在接受推送之前詢問您的用戶名和密碼,然后您可以從安裝了 docker 的任何其他機器上的映像運行容器。


[1]從容器運行服務器時,請記住打開容器運行所在的端口。 另外,永遠不要綁定到localhost

我在我的 dockerfile 中使用了類似的東西

FROM python:3.7-slim AS base
RUN pip install poetry==1.1.4
COPY  *.toml *.lock /
RUN poetry config virtualenvs.create false \
    && poetry install \ 
    && poetry config virtualenvs.create true

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM