首先我们选择一个空目录,我现在所在的位置是/usr/local/src
我们一共需要创建三个文件分别是
app.py :实例代码
requirements.txt : Python所需要的类库
Dockerfile: docker环境配置
首先我们vim Dockerfile,
# 将Python作为父环境,也就是容器的主要环境
FROM python:2.7-slim
# 代码环境为目录app下
WORKDIR /app
# 将当前内容复制到app下面
COPY . /app
# 安装requirements.txt下面所有需要的类库
RUN pip install --trusted-host pypi.python.org -r requirements.txt
# 开放80端口
EXPOSE 80
# 定义环境变量
ENV NAME World
# 容器启动时候运行app.py
CMD ["python", "app.py"]
然后我们写app.py
from flask import Flask
from redis import Redis, RedisError
import os
import socket
# Connect to Redis
redis = Redis(host="redis", db=0, socket_connect_timeout=2, socket_timeout=2)
app = Flask(__name__)
@app.route("/")
def hello():
return "success"
if __name__ == "__main__":
app.run(host='0.0.0.0', port=80)
最后 vim requirements.txt
Flask
Redis
我们现在查看一下当前目录的文件 ls
$ ls
Dockerfile app.py requirements.txt
我们打包成容器
docker build --tag=friendlyhello .
要注意的是最后面有一个 .
--tag 可以使用 -t代替 , 或者--tag=friendlyhello:v0.0.1
我们查看一下是不是创建成功
docker image ls
<span style="color:#333333"><code>REPOSITORY TAG IMAGE ID
friendlyhello latest 326387cea398</code></span>
运行!
docker run -p 4000:80 friendlyhello
通过localhost:4000就能访问项目,
接下来我们可以在https://hub.docker.com/
进行注册账号然后再本地登陆
docker login
然后把自己的镜像做标记
docker tag image username/repository:tag
image = friendlyhello
username = docker注册的名字
repository = 存储库
tag : 要打的标签 给这个容器打上标签方便管理
上传
docker push username/repository:tag
参数同上
参考
https://docs.docker.com/get-started/part2/