zoukankan      html  css  js  c++  java
  • docker容器中的peewee如何连接已有的容器中的数据库

    首先,两个容器必须是在同一网络下,有2个办法。

      一个是在同一个docker-compose.yml文件下使用links参数,比如:

        version: '3'
        services:
         redis:
         image: redis:3.2.8
         ports:
         - "6379:6379"
         volumes:
         - ./docker/docker_redis:/data
         restart: always
        web:
         build: .
         ports:
         - "3000:3000"
         links:
         - redis
    然而目前docker已经计划移除links,所以不建议使用links了,使用networks代替。那么第二种办法就是:
        version: '3'
        services:
         web:
         build: .
         command: python run.py
         ports:
         - "5000:5000"
         volumes:
         - .:/python_test
         networks:
         - test_default
        networks:
          test_default:
         external: true
    其中test_default是创建数据库容器时所在的网络。查看当前docker的网络有哪些可以用 docker network ls.
    检验是否在同一网络下:可以在启动容器后,使用docker exec -it 容器名 /bin/bash 进入容器使用: ping 容器名。能ping通说明两个容器在同一个网络下。
    最后使用peewee链接容器中的数据库只用将想要访问的数据库的容器名填到host里面即可:
    db = MySQLDatabase("test", host="test_mysql_1", port=3306, user="root", passwd="123456")
    其他第一个参数"test"是数据库名。
  • 相关阅读:
    二分法
    php冒泡排序
    php位运算
    php学习函数如何执行的
    php学习 打星星
    小程序的学习备注
    一个IP与多个域名绑定
    apache、mysql、php核心、phpmyadmin的安装及相互关联
    php虚拟主机配置( 输入网址 对应 ip地址)
    ORA-01084: OCI 调用中的参数无效
  • 原文地址:https://www.cnblogs.com/tyrionyang/p/9089489.html
Copyright © 2011-2022 走看看