繁体   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