如何在云端部署的docker容器中使用SQL?

2024-05-15 04:42:06 发布

您现在位置:Python中文网/ 问答频道 /正文

现在,我有一个用Python编写的简单web服务器,打包在基于Linux的docker容器中。该容器部署在私有openstack云中,并将一个卷附加到容器上,然后装载。在

web服务器正在卷上的json文件中保存数据。但是,我想用SQL数据库(postgrest?sqlite?)。在

我没有数据库管理的经验(不过我知道查询)。如何在该容器中安装SQL?它是否需要在卷上,或者有一种方法可以安装到容器中的软件并仅将卷用于实际数据?在


Tags: 文件数据docker服务器web数据库jsonsqlite
1条回答
网友
1楼 · 发布于 2024-05-15 04:42:06

免责声明:我对Openstack一无所知,我认为它类似于一个专用的Linux服务器。如果这个假设是错误的,那么可能还有更好的答案。在

我建议您为DB使用一个单独的容器,最好基于一个著名的公共映像。我个人有mysql forkmariadb的经验。在

使用a docker-compose.yml file通过添加条目将这些容器链接在一起,如下所示:

your_existing_container:
  image: your_image
  ports:
    - 80:80
  links:
    - db
  volumes_from:
    - your_existing_volume

db:
  image: mariadb:10.1
  volumes_from:
    - dbdata
  expose:
    - 3306
  environment:
    - MYSQL_ROOT_PASSWORD=changeme
    - MYSQL_DATABASE=nameme
    - MYSQL_USER=callme
    - MYSQL_PASSWORD=changeme

dbdata:
  image: tianon/true
  volumes:
    - /var/lib/mysql

一旦您完成了这项工作(并更改了数据库的密码等),导航到docker-compose.yml文件所在的目录并运行docker-compose up -d your_existing_container(当然要重命名它)。Compose将运行您的映像以及它所依赖的所有其他映像(比如db容器)。在

相关问题 更多 >

    热门问题