一、创建API接口:
1.首先在本地编译好API接口:app.py、使用python更加简单容易理解。
pip install flask
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World
'
@app.route('/')
def get_data(name):
data = {
'id': name,
'value': 'value_%s' % name,
}
return jsonify(data)
if __name__ == '__main__':
app.run('0.0.0.0', 8080, debug=True)
这个是返回一个json文件,想要编写其他案例,在文章后面。
二、编写Dockerfile: 放在同一目录中!
# 使用 ubuntu 20.04 作为基础镜像
FROM ubuntu:20.04
# 设置时区
ENV TZ=Asia/Shanghai
RUN sed -i "s@http://.*archive.ubuntu.com@http://mirrors.cloud.aliyuncs.com@g" /etc/apt/sources.list && \
sed -i "s@http://.*security.ubuntu.com@http://mirrors.cloud.aliyuncs.com@g" /etc/apt/sources.list
# 设置工作目录
WORKDIR /app
# 将当前目录下的所有文件复制到容器的 /app 目录下
COPY . /app
# 安装所需的依赖
RUN apt-get update && \
apt-get upgrade -y && \
apt-get install -y python3-minimal python3-pip python3-setuptools python-is-python3 git net-tools && \
apt-get clean && \
apt-get autoclean && \
apt-get autoremove --yes && \
rm -rf rm -rf /var/lib/{apt,dpkg,cache,log}/
RUN pip install flask
# 暴露服务的端口
EXPOSE 8080
# 启动应用
CMD [ "python", "app.py" ]
若想简单点可以使用下面Dockerfile:但这个docker image相对较大,不如上面的。
# 使用 Python 3.8 作为基础镜像
FROM python:3.8
# 设置工作目录
WORKDIR /app
# 将当前目录下的所有文件复制到容器的 /app 目录下
COPY . /app
# 安装所需的依赖
RUN pip install flask
# 暴露服务的端口
EXPOSE 8080
# 启动应用
CMD [ "python", "app.py" ]
三、启动docker:
docker build -t api:latest .
docker run -p 8080:8080 --name api api:latest
已经成功实现了API接口。可以访问
http://127.0.0.1:8080/1232
附录其他编译案例 https://blog.csdn.net/weixin_65690979/article/details/130466594:
app.run(host, port, debug, options)
镜像打包:
docker images
docker save -o api.tar.gz api:latest
docker load