博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker 入门指南——部署常用服务示例
阅读量:6202 次
发布时间:2019-06-21

本文共 3403 字,大约阅读时间需要 11 分钟。

MongoDB

FROM centos:centos7MAINTAINER The CentOS Project 
RUN yum -y update; yum clean allRUN yum -y install epel-release; yum clean allRUN yum -y install mongodb-server; yum clean allRUN mkdir -p /data/dbEXPOSE 27017ENTRYPOINT ["/usr/bin/mongod"]

参考:

Redis

FROM centos:centos7MAINTAINER The CentOS Project 
LABEL io.k8s.description="Redis is an open source, in-memory data structure store, used as database, cache and message broker." \ io.k8s.display-name="Redis 2.8.19-2.el7" \ io.openshift.expose-services="6379:redis" \ io.openshift.tags="database,redis,redis3"LABEL Name="centos/redis-28-centos7" \ Version="2.8.19" \ Release="2" \ Architecture="x86_64"RUN yum -y --setopt=tsflags=nodocs update && \ yum -y --setopt=tsflags=nodocs install epel-release && \ yum -y --setopt=tsflags=nodocs install redis && \ yum clean allCOPY redis-master.conf /redis-master/redis.confCOPY redis-slave.conf /redis-slave/redis.confCOPY entrypoint /entrypointRUN mkdir /redis-master-data && \ chmod 755 /entrypoint /redis-master-data && \ chown 997 /redis-master-dataEXPOSE 6379# By default will run as random user on openshift and the redis user (997)# everywhere elseUSER 997CMD [ "/entrypoint" ]ENTRYPOINT [ "sh", "-c" ]

参考:

部署 Flask 应用

当前目录是get-pip,目录结构如下:

$ tree ..├── app.py├── Dockerfile├── README.md└── requirements.txt

app.py

# coding:utf-8                                                                  from flask import request, Flask                                                                                                                                app = Flask(__name__)                                                                                                                                                                                                                           @app.route("/ip", methods=["GET"])                                              def get_my_ip():                                                                    return request.remote_addr                                                                                                                                                                                                                  @app.route('/', methods=["GET"])                                                def hello_world():                                                                  return 'Hello World! From IP: {}'.format(get_my_ip())                                                                                                                                                                                       if __name__ == '__main__':    # 默认的端口就是 5000,你可以指定其他端口,例如 8081    app.run(port=5000, host='0.0.0.0', debug=True)

requirements.txt

Flaskrequests

Dockerfile

FROM python:3.7LABEL maintainer="michael"ENV LANG C.UTF-8COPY . /appCOPY ./.pip/pip.conf ~/.pip/pip.confWORKDIR /appRUN pip install -r requirements.txt --proxy="http://127.0.0.1:3128"ENTRYPOINT ["python"]CMD ["app.py"]

get-pip目录下,构建镜像:

docker build -t registry.domain.com/michael/get-ip:latest .

推送镜像:

docker login -u micahel registry.domain.comdocker push registry.domain.com/michael/get-ip:latest

因为网络的原因,无法直接连接 pypi 官方源,所以,在 pip install 时,使用了 --proxy 参数来指定代理。

Flask 参考

Pip 代理

  • 问题中附上了 pip 源设置的官方连接

参考

  • 某公司的内部指导,有参考意义

转载于:https://www.cnblogs.com/michael-xiang/p/10467387.html

你可能感兴趣的文章
道德迷宫,不该成为无人驾驶发展的拦路虎!
查看>>
阿里AI界的新伙伴,1秒钟自动生成20000条文案
查看>>
bat文件的一些小技巧
查看>>
通过DBCC PAGE查看页信息验证聚集索引和非聚集索引节点信息
查看>>
【工具使用系列】关于 MATLAB 遗传算法与直接搜索工具箱,你需要知道的事
查看>>
flex 学习笔记 stage
查看>>
Redhat下如何搭建NFS
查看>>
Unix - "tcp & tcpm"
查看>>
Kali-linux Arpspoof工具
查看>>
Project和Module的介绍
查看>>
java中三个类别加载器的关系以及各自加载的类的范围
查看>>
java 从spring容器中获取注入的bean对象
查看>>
PDF文档页面如何重新排版?
查看>>
基于http协议使用protobuf进行前后端交互
查看>>
python3 + Django + uwsgi + nginx 配置部署笔记
查看>>
Erasure-Code:实践与分析篇
查看>>
UML设计一个电影票务销售系统(四)
查看>>
如何给VEEAM 7 分配角色权限
查看>>
AlphaGo Zero用它来调参?【高斯过程】到底有何过人之处?
查看>>
linux 高级字符设备驱动 ioctl操作介绍 例程分析实现【转】
查看>>