我有兩個應用程序是不同的代碼庫,並且它們在同一個數據庫服務器實例上都有自己的數據庫。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