第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

學(xué)習(xí)Docker之使用docker-compose編配一整套服務(wù)

標(biāo)簽:
Docker

webp

docker-compose.png

使用docker compose可以一键完成“一整套”服务的搭建也可以完成服务集群化部署。

这两天在用python写一个爬虫,数据暂时保存在本地的mongodb数据库,到部署的时候,发现线上的服务器没有python环境和mongodb,这个时候立马就想到了Docker!
 最初的思路就是run一个mongodb容器,然后再把爬虫程序构建为镜像并run起来。准备动手的时候突然脑海里闪过compose这个东东,之前看docker书的时候正好看到有关compose的这一章,我花了十分钟简单的过了一下,发现使用compose可以更加完美的实现一键构建、部署与启动的过程,接下来就以python与mongodb组合为例

官网使用的是python与redis https://docs.docker.com/compose/gettingstarted/

先看一下python程序

from flask import Flaskfrom pymongo import MongoClientimport random
app = Flask(__name__)
client = MongoClient('mongodb')
db=client['datas']@app.route('/')def hello():
    db.col.insert({"hits":random.random()})    return 'Hello World! I have been seen %s times.' % (db.col.count())if __name__ == "__main__":
    app.run(host="0.0.0.0", debug=True)

使用flask做python的web服务框架,每请求一次就会在mongodb的datas数据库插入一个文档,然后返回datas下面的总数,非常简单。

然后需要把python所依赖的模块抽取出来,这里推荐使用pipreqs
安装pipreqs

pip install pipreqs

然后执行脚本

# 我直接在项目的根目录下执行,当然也可以带上路径 如 pipreqs /project/pathpipreqs .

生成的requirements如下

pymongo==3.6.1
Flask==0.12.2

接下来需要编写Dockerfile

FROM python:2.7ADD . /code
WORKDIR /code
RUN pip install -r requirements.txtCMD ["python","app.py"]

这里用的是python 2.7版本

然后定位到code目录下;

将requirements.txt下依赖的模块一并安装;

最后执行app.py

如果是第一次接触Docker那就以往文章了解下~
学习Docker之Dockerfile的命令
学习Docker之10张图带你深入理解Docker容器和镜像
学习Docker之Docker、容器和镜像的简介和常用命令
学习Docker之Docker初体验---SpringBoot集成Docker的部署、发布与应用

紧接着开始docker-compose yml 命令与写法跟Dockerfile类似,很容易理解,如下:

version: '2'services:
    web:
        build: .
        ports:
            - "5000:5000"
    mongodb:
        image: mongo
        ports:
            - "27017:27017"

这里要注意一下mongodb,就是python中使用的‘域名’

可以这样理解,web服务和mongodb服务都在同一个局域网,然后mongodb服务的ip对应域名就是“mongodb”

docker-compose 一般需要独自安装,我这里使用的是ubuntu,直接使用apt install docker-compose,当然也可以按照官网安装

最终目录为

.
├── app.py
├── docker-compose.yml
├── Dockerfile
└── requirements.txt

执行命令docker-compose up

经过漫长的构建,docker会自动将其启动,整个过程如下

webp

wma.gif


到这里使用docker-compose编配一个web服务和一个数据服务就到此结束了!

使用compose我们可以把一整套的项目包括应用、数据存储、消息中间件等等的安装、部署与启动整合在一个yml配置中,真的可以达到一键启动应用!!!



作者:冬天只爱早晨
链接:https://www.jianshu.com/p/2a9699c033a5


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消