西北乱跑娃 --- dockerfile部署项目

10 篇文章 0 订阅

一、准备工作

# vi m.py
from flask import Flask

app = Flask(__name__)


@app.route('/')
def hello_world():
    return 'Hello, World!'

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=8080)
# vi requirements.txt
flask
# vi Dockerfile
FROM python:3.8-slim
WORKDIR /test
# 将工作目录切换为 /test
# 意思是在这一句之后,Dockerfile 后面的操作都以这一句指定的 /test 目录作为当前目录。 

COPY . /test
# 将当前目录下的所有内容复制到 /test 下 
# Dockerfile 里的原语并不都是指对容器内部的操作。比如 ADD,指的是把当前目录(即 Dockerfile 所在的目录)里的文件,复制到指定容器内的目录当中。

RUN pip install --trusted-host pypi.python.org -r requirements.txt
# 允许外界访问容器的 80 端口
EXPOSE 8080
CMD ["python3", "m.py"]
# 设置容器进程为:python app.py,即:这个 Python 应用的启动命令
# 这里app.py 的实际路径是 /app/app.py。CMD ["python", "app.py"] 等价于 "docker run python app.py"。
# 在使用 Dockerfile 时,可能还会看到一个叫作 ENTRYPOINT 的原语。它和 CMD 都是 Docker 容器进程启动所必需的参数,完整执行格式是:"ENTRYPOINT CMD"。
# 但是,默认,Docker 会提供一个隐含的 ENTRYPOINT,即:/bin/sh -c。所以,在不指定 ENTRYPOINT 时,比如在这个例子里,实际上运行在容器里的完整进程是:/bin/sh -c "python app.py",即 CMD 的内容就是 ENTRYPOINT 的参数。
# 基于以上原因,后面会统一称 Docker 容器的启动进程为 ENTRYPOINT,而不是 CMD。

二、开始执行

#  ‘.’ 代表当前路径
# 创建镜像
docker build --tag=flasker .

/test 是容器内部的挂载点,它将映射到主机的 /home/test 目录,要运行这个容器并设置挂载点,可以使用以下命令:

# 创建容器
docker run -d -p 8080:8080 -v /home/test:/test flasker

三、修改文件

# 修改本地文件之后
docker stop 容器
docker start 容器
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西北乱跑娃

万水千山总是情,犒赏一下行不行

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值