docker初次使用命令

✅ 一、准备你的 Python 项目

假设你有一个简单的 app.py 文件:

python#

# app.py
from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/hello')
def hello():
    return jsonify({"message": "Hello from Docker!"})

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)

再创建一个 requirements.txt 文件:

里边包含了项目用到的一些第三方库

✅ 二、创建 Dockerfile

在项目根目录下创建一个 Dockerfile:(不需要加后缀名)

# 使用官方 Python 镜像作为基础
FROM python:3.10-slim

# 设置工作目录
WORKDIR /app

# 拷贝项目文件到容器中
COPY . /app

# 安装依赖
RUN pip install --no-cache-dir -r requirements.txt

# 暴露端口
EXPOSE 5000

# 启动命令
CMD ["python", "app.py"]
FROM python:3.10-slim

# 安装必要的系统依赖
RUN apt-get update && apt-get install -y \
    libglib2.0-0 \
    libsm6 \
    libxext6 \
    libxrender-dev \
    libgl1-mesa-glx \
    gcc \
    curl && \
    rm -rf /var/lib/apt/lists/*

# 设置工作目录
WORKDIR /app

# 拷贝 requirements.txt 并安装
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

# 安装 fastdeploy(以 CPU 为例)
RUN pip install fastdeploy-python -i https://pypi.tuna.tsinghua.edu.cn/simple

# 拷贝你的项目代码
COPY . .

# 运行你的 Flask app(根据你项目实际入口修改)
CMD ["python3", "app.py"]

✅ 三、构建 Docker 镜像

在 Dockerfile 所在目录执行以下命令:

sudo docker build -t 你的项目文件夹名 .

✅ 四、运行容器

sudo docker run -d -p 5000:5000 --name  docker服务名   项目文件夹名

第一个5000是你实际运行后 外部请求用的接口,第二个5000指的是你代码里定义的接口,这句话指的是 把代码里的接口映射成新的接口。 

name 后边跟的是定义的服务名。

运行成功的话 正常会出来一个id,就是你运行的服务的id。

✅ 五、postman请求。

同一局域网的其他电脑就可以请求了

如果访问不到,就运行 sudo ufw allow 5000          sudo ufw reload(使当前设备的防火墙通过5000接口)

✅六、其他一些常用命令。

0、sudo docker ps -a       查看所有的服务,包含了已经停止运行的

1、sudo docker stop 服务名     停止对应的服务

2、sudo docker rm 服务名        移除对应的服务

3、sudo docker logs 服务名     查看对应服务的全部日志

4、sudo docker logs 服务名 | tail -n 20   查看对应服务的最近20行

5、sudo docker exec -it 服务名 bash     运行进入到对应容器的命令号  可以手动用python app.py去运行对应的代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值