Python工具箱系列(三十六)

这篇具有很好参考价值的文章主要介绍了Python工具箱系列(三十六)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基于Docker的数据库开发环境

前文介绍了sqlite/mysql/mssql等数据库系统在ubuntu的安装与部署过程,相对是比较复杂的,需要耐心等待下载以及排除各种故障,对于开发人员来说是不太友好。在某些情况下,开发人员要测试在多个数据库环境下软件的正确性,需要部署多个数据库,为此可以使用Docker技术。

Docker提供了基于镜像的运行环境,可以将操作系统、应用程序以及相关依赖打包,为使用者提供完整的使用体验,因此一经推出大获好评,迅速成为主流的软件开发技术之一。Docker有着完善的命令行功能,在Windows环境下有多种GUI管理软件,本文对Docker不再赘述。下面先在ubuntu bionic上建立Docker服务,随后基于Docker composer将多个数据库打包启动,为开发者提供多数据库支持环境。

# 删除旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common

# 真正有用的部分
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

# aliyun mirrors
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

sudo apt-get update
sudo apt-get install -y docker-ce
sudo systemctl enable docker
sudo systemctl start docker

sudo usermod -aG docker $USER
sudo systemctl daemon-reload
sudo systemctl restart docker

# 不在此机上开发python可以直接安装这个基于python2.7.17的低版本应用
apt install docker-compose

使用scp或者直接vi编辑Docker-compse.yml文件如下:

version: "3.3"

services:
    clickhouseserver:
        restart: always
        image: yandex/clickhouse-server:21.6.5.37-alpine
        container_name: clickhouseserver
        hostname: clickhouseserver
        environment:
            - TZ=Asia/Shanghai
        ports:
            - 8123:8123
            - 9000:9000
        ulimits:
            nofile:
                soft: 262144
                hard: 262144  
                
    sqlserver:
        image: mcr.microsoft.com/mssql/server:2019-CU3-ubuntu-18.04
        restart: always
        container_name: mssql
        environment: 
            - ACCEPT_EULA=Y
            - SA_PASSWORD=Zm88488848
        ports:
            - 1433:1433

    mysql:
        image: mysql
        command: --default-authentication-plugin=mysql_native_password
        restart: always
        ports:
            - 3306:3306
        environment:
            MYSQL_ROOT_PASSWORD: 88488848

    pg:
        image: postgres
        restart: always
        ports:
            - 5432:5432
        environment:
            POSTGRES_PASSWORD: 88488848

随后运行以下命令启动。

# 启动编排,可以按ctrl-c中止
docker-compose up

# 类似于服务的永久启动。
docker-compose up -d

在第一次启动时,由于本地没有对应的镜像,会自动下载,时间稍长些。后续启动时将非常快速。由于以上数据库不真正投入生产环境,所以没有引入挂载点。此外,根据官方文档要求,sqlserver镜像在配置时,必须使用强口令(8位大小写字母与符号的混合)。另,8848的意思是珠峰的高度。文章来源地址https://www.toymoban.com/news/detail-492160.html

到了这里,关于Python工具箱系列(三十六)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python工具箱系列(三十一)

    Neo4j是一个高性能的开源的,使用Java语言实现的NoSQL图数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个

    2024年02月03日
    浏览(36)
  • Python工具箱系列(三十三)

    Timescaledb 在物联网时代,出现了大量以时间为中心海量产生的传感器数据,称为时序数据。这类数据的特点是: 数据记录总有一个时间戳。 数据几乎总是追加,不更新也不删除。 大量使用近期的数据。很少更新或者回填时间间隔的缺失数据。 与时间间隔频率关系不大。但累

    2024年02月06日
    浏览(43)
  • Python工具箱系列(三十四)

    SQLAlchemy是著名的ORM(Object Relational Mapping-对象关系映射)框架。其主要作用是在编程中,把面向对象的概念跟数据库中表的概念对应起来。对许多语言(例如JAVA/PYTHON)来说就是定义一个对象,并且这个对象对应着一张数据库的表。而这个对象的实例,就对应着表中的一条记录。

    2024年02月06日
    浏览(37)
  • Python工具箱系列(四十一)

           前文的代码示例了使用gzip对单个文件进行压缩。本文示例使用更通用的zipfile来批量压缩文件。zipfile也是python内置的库,使用起来非常方便。废话不说,直接上代码示例。        上述示例代码中,再次引入一个python内置的轻量级数据库dbm。与shelve类似,也是key-val

    2024年02月11日
    浏览(41)
  • IDEA插件系列(4):GitToolBox插件——git工具箱

    GitToolBox 提供各种git操作。 第一种安装方式是使用IDEA下载安装 第二种安装方式是使用离线插件进行安装 插件下载地址:http://plugins.jetbrains.com/plugin/7499-gittoolbox 在这里进行配置 更多可参考文档 https://github.com/zielu/GitToolBox/wiki/Manual 作用:显示当前代码提交的用户名、时间、以

    2024年02月11日
    浏览(32)
  • 【打工日常】使用docker部署Dashdot工具箱

    dashdot 是一个简洁清晰的服务器数据仪表板,基于 React 实现 ,主要是显示操作系统、进程、存储、内存、网络这五个的数据。 本次实践部署环境为个人测试环境 本次实践环境规划:docker快速拉取Dashdot镜像,然后后台启动Dashdot镜像 启动镜像后的名字 IP地址 容器镜像版本 操

    2024年02月19日
    浏览(39)
  • HNU-离散数学-工具箱系列3-关系矩阵法求传递闭包

    用于解决这类问题: 举例一、  举例二、(求传递闭包)   代码如下:

    2024年02月11日
    浏览(37)
  • 【MATLAB第57期】基于MATLAB的双隐含层BP神经网络回归预测模型(无工具箱版本及工具箱版本对比)

    数据为案例数据 。103行样本,7输入1输出数据。 训练集数据的R2为:0.9022 测试集数据的R2为:0.87266 训练集数据的MAE为:1.8189 测试集数据的MAE为:2.1658 训练集数据的MBE为:-0.00088469 测试集数据的MBE为:0.3059 数据与无工具版本相同,数据顺序也相同。 训练集数据的R2为:1 测试

    2024年02月16日
    浏览(34)
  • mmdetection基于 PyTorch 的目标检测开源工具箱 入门教程

    MMDetection 支持在 Linux,Windows 和 macOS 上运行。它需要 Python 3.7 以上,CUDA 9.2 以上和 PyTorch 1.8 及其以上。 步骤 0.  从官方网站下载并安装 Miniconda。 步骤 1.  创建并激活一个 conda 环境。 步骤 2.  基于 PyTorch 官方说明安装 PyTorch。 在 GPU 平台上: 步骤 3.  使用 MIM 安装 MMEng

    2024年02月11日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包