2024-05-15 04:42:06 发布
网友
现在,我有一个用Python编写的简单web服务器,打包在基于Linux的docker容器中。该容器部署在私有openstack云中,并将一个卷附加到容器上,然后装载。在
web服务器正在卷上的json文件中保存数据。但是,我想用SQL数据库(postgrest?sqlite?)。在
我没有数据库管理的经验(不过我知道查询)。如何在该容器中安装SQL?它是否需要在卷上,或者有一种方法可以安装到容器中的软件并仅将卷用于实际数据?在
免责声明:我对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容器)。在
docker-compose.yml
docker-compose up -d your_existing_container
免责声明:我对Openstack一无所知,我认为它类似于一个专用的Linux服务器。如果这个假设是错误的,那么可能还有更好的答案。在
我建议您为DB使用一个单独的容器,最好基于一个著名的公共映像。我个人有mysql forkmariadb的经验。在
使用a docker-compose.yml file通过添加条目将这些容器链接在一起,如下所示:
一旦您完成了这项工作(并更改了数据库的密码等),导航到
docker-compose.yml
文件所在的目录并运行docker-compose up -d your_existing_container
(当然要重命名它)。Compose将运行您的映像以及它所依赖的所有其他映像(比如db容器)。在相关问题 更多 >
编程相关推荐