4.Docker-镜像制作-CI/CD

Docker-镜像制作-CI/CD

一、docker镜像制作(flask+redis)

本文环境:

  • ​ CentOS 7

  • ​ Docker 20.10.13

本文创建一个用python连接redis数据,输出到网页功能的镜像。

1.1 创建文件夹/mydocker以及如下文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YGjHBGzy-1662221736283)(D:\Typora\photo\image-20220829161244461.png)]

1.2 编辑Dockerfile

FROM python:2.7-slim
WORKDIR /app	# 进入到容器后,会进入的文件夹
ADD . /app	# 复制linux系统当前目录下的内容到容器的/app目录下 类似于执行docker cp
VOLUME ["/data_flask"]
#安装requirements.txt库制作镜像时运行
RUN pip install --trusted-host pypi.python.org -r requirements.txt	# 在容器内部执行的命令
EXPOSE 80	# 容器暴露80端口,监听80端口
ENV NAME Wosrld	# 定义了环境变量NAME赋值World
ENV AUTHOR zkj	#定义了环境变量AUTHOR赋值Zkj
CMD ["python","app.py"]	#容器启动时执行命令 python app.py

1.3 编辑requirements.txt文件

Flask
Redis

1.4 编辑app.py文件

from flask import Flask
from redis import Redis, RedisError
import os
import socket

# 容器启动的时候不知道ip 所以用名字进行连接
redis = Redis(host = "redis", db = 0, socket_connect_timeout = 2, socket_timeout=2)
app = Flask(__name__)
@app.route("/")
def hello():
    try:
        visits = redis.incr("counter")
    except RedisError:
        visits = "<i>cannot connect to Redis, Counter disabled</i>"

html = "<h3>Hello {name}!</h3>" \
       "<b>Hostname:</b> {hostname}<br/>" \
       "<b>Vistor:</b> {visits}"
return html.format(name = os.getenv("NAME", "world"), hostname = socket.gethostname(), visits = visits)

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=80)
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值