我有两个应用程序是不同的代码库,并且它们在同一个数据库服务器实例上都有自己的数据库。docker - 本地多个数据库
我想在我的笔记本电脑本地复制泊坞窗。我希望能够让这两个应用程序使用相同的数据库实例。
我想
两个应用程序在同一时间在码头工人开始
两个应用程序能够访问本地主机数据库
数据库中的数据持久化
能够使用本地主机上的IDE查看数据库中的数据
因此,我的每个应用程序都有自己的dockerfile
和docker-compose
文件。
在app1上,我启动了绑定到数据库的应用程序的docker实例。这一切都开始很好。
当我尝试启动APP 2,我得到以下错误:
ERROR: for app2_mssql_1 Cannot start service mssql: driver failed programming external connectivity on endpoint app2_mssql_1 (12d550c8f032ccdbe67e02445a0b87bff2b2306d03da1d14ad5369472a200620): Bind for 0.0.0.0:1433 failed: port is already allocated
我怎样才能让他们都在同一时间运行?这两个应用程序都需要能够访问其他数据库表格!
这里是泊坞窗,compose.yml文件
APP1:
version: "3"
services:
web:
build:
context: .
args:
volumes:
- .:/app
ports:
- "3000:3000"
depends_on:
- mssql
mssql:
image: 'microsoft/mssql-server-linux'
ports:
- '1433:1433'
environment:
- ACCEPT_EULA=Y
- SA_PASSWORD=P455w0rd!
volumes:
- app1_db:/var/lib/mssql/data
volumes:
app1_db:
这里是APP 2:
version: "3"
services:
web:
build:
context: .
args:
volumes:
- .:/app
ports:
- "3000:3000"
depends_on:
- mssql
mssql:
image: 'microsoft/mssql-server-linux'
ports:
- '1433:1433'
environment:
- ACCEPT_EULA=Y
- SA_PASSWORD=P455w0rd!
volumes:
- app2_db:/var/lib/mssql/data
volumes:
app2_db:
我应该使用每个泊坞窗,撰写相同体积文件? 我想问题是在每个应用程序中我旋转了2个不同的数据库实例,实际上我想我只想要一个,并且它会被我的所有应用程序使用?
请检查这一点 - https://stackoverflow.com/a/39204865/3896066 – saurav