zl程序教程

您现在的位置是:首页 >  后端

当前栏目

docker:从零开始部署一个python的hello world并debug(其他语言同理)

PythonDocker部署语言 一个 其他 从零开始 debug
2023-09-27 14:27:10 时间

准备工作

python 代码 app.py:

from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
	return "hello docker"
if __name__ == '__main__':
	app.run()

运行:

pip install flask
python app.py
# Running on http://127.0.0.1:5000/

开始写Dockerfile

mkdir flask-hello-wordl
cd flask-hello-wordl
touch Dockerfile
# app.py 就是上面的 Python 代码
touch app.py

Dockerfile

FROM python:2.7
LABEL "maintainer=Yu Zhang<zy@xx.cmo>"
RUN pip install flask
COPY app.py /app
WORKDIR /app
# 暴露端口,否则只有本地可访问
EXPOSE 5000
CMD ["python", "app.py"]

运行

docker build -t zy/flask-hello-world .

在这里插入图片描述
这时可以看到第 5 步报了个错,我们如何分析这个错误呢

我们知道每一层都会创建一个临时的容器,这里会显示这个容器的镜像id
我们运行进入第 5 步的容器

docker run -it 镜像id /bin/bash

这样我们进入了这个容器,发现 app 不是一个目录,而是我们刚刚写的 py 文件
在这里插入图片描述
我们犯了一个错误
分析

COPY app.py /app

我们是把 app.py 复制到了 / 目录,并取了个新名字叫 app,那么如何改呢

COPY app.py /app/

改完重新 build 一下就成功啦

最后,运行

docker run -d zy/flask-hello-world

运行成功!以后排错知道该怎么办了吧~