docker容器是目前应用比较广泛的虚拟化技术,下面我们一起来部署一下.
以ubuntu系统为例.
1. 准备python项目
这里我准备了一个简单的flask代码,用于测试.
#!/usr/bin/python
# -*- coding: utf-8 -*-
from flask import Flask
app = Flask(__name__)
@app.route('/', methods=['GET'])
def index():
return "docker success!"
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5050)
2.准备requirement.txt文件
这里面我就写了一个Flask包, 如果依赖很多, 都要写在里面
3.准备Dockerfile文件(用于构建镜像)
先创建一个名为Dockerfile的文件, 无后缀, 然后在里面写上以下内容
FROM python:3.6
ENV PATH /usr/local/bin:$PATH
ADD . /code
WORKDIR /code
RUN pip3 install -r requirements.txt
CMD python3 ab.py
FROM:需要什么环境
ENV:修改path,即增加/usr/local/bin这个环境变量
ADD:将本地代码放到虚拟容器中,它有两个参数,第一个是 . ,代表本地当前路径;第二个参数是/code,代表虚拟容器中的路径,即将本地项目的所有内容放到虚拟容器的/code目录下,以便在虚拟容器中运行代码
WORKDIR:指定工作目录,也就是刚才的/code,在虚拟容器中的目录
RUN:执行某些环境准备工作,docker容器中只有python3环境,还需要python的库,这里安装那些库
CMD:运行项目的命令行命令, ab.py即是我们的启动文件
4.开始构建镜像
abc代表我们构建镜像之后的名字, latest代表tag版本
docker build -t abc:latest .
执行要稍微等待一会儿, 完成之后,我们来查看一下构建是否成功
输入
sudo docker images
可以看到,镜像已经构建成功了
5.把镜像运行成容器
sudo docker run -d -p 5000:5050 abc
容器运行起来之后, 并且把容器内部的端口5050映射到宿主机的5000端口, 这样就可以外部访问了.
我们来查看一下运行情况
sudo docker ps
运行良好,下一步,我们从外部访问一下.
6.访问接口
我们先查看一下当前ubuntu系统的IP地址, 输入ifconfig
找到IP以后, 我们通过浏览器访问 192.168.253.135:5000
至此, docker部署成功!