首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将瓶子应用程序作为docker-container运行?

如何将瓶子应用程序作为docker-container运行?
EN

Stack Overflow用户
提问于 2019-06-17 22:09:23
回答 2查看 981关注 0票数 1

我制作了bottle-framework-application,它在本地主机上运行得很好。我使用的是virtualenv。

然后我构建了docker容器。我的Dockerfile:

代码语言:javascript
复制
FROM ubuntu
COPY . .
RUN /bin/bash -c "source venv/bin/activate"
ENTRYPOINT /bin/bash -c "python3 index.py"

Biuld-process its:

代码语言:javascript
复制
(venv) kalinin@md ~/python/bottler $ docker build -t bottler .
Sending build context to Docker daemon  26.07MB
Step 1/4 : FROM ubuntu
 ---> 7698f282e524
Step 2/4 : COPY . .
 ---> 9e182c969051
Step 3/4 : RUN /bin/bash -c "source venv/bin/activate"
 ---> Running in 2022e2fa7600
Removing intermediate container 2022e2fa7600
 ---> 16209d249539
Step 4/4 : ENTRYPOINT python3 index.py
 ---> Running in 84594de70d72
Removing intermediate container 84594de70d72
 ---> d5057555ab1a
Successfully built d5057555ab1a
Successfully tagged bottler:latest

在构建之后,我尝试运行容器:

代码语言:javascript
复制
docker run -i -t --rm -p 8000:8000 bottler

但是get follow错误消息:

代码语言:javascript
复制
/bin/bash: python3: command not found

请帮助我运行应用程序。运行后,我需要在浏览器中查看应用程序。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-17 22:15:04

首先,我建议你使用一个python镜像https://hub.docker.com/_/python,因为你使用的ubuntu镜像可能没有预装python。

其次,我建议您将入口点定义为单个命令/可执行文件-在您的示例中是python

ENTRYPOINT ["python"]

然后将路径添加到CMD定义中的.py文件

CMD ["index.py"]

在您的案例中,问题是在ubuntu镜像中,$PATH中找不到python可执行文件,因为它没有预先安装。您可以在ubuntu镜像上安装python,也可以简单地使用docker hub上已经存在的python镜像。

票数 0
EN

Stack Overflow用户

发布于 2019-06-17 22:15:32

将您的Dockerfile更改为

代码语言:javascript
复制
FROM ubuntu
COPY . .
RUN apt-get update
RUN apt-get -y install python3
RUN apt-get -y install python3-pip
RUN pip install bottle
RUN /bin/bash -c "source venv/bin/activate"
ENTRYPOINT /bin/bash -c "python3 index.py"

试试这个,然后让我知道。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56633067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档