我的docker-compose.yml
文件中显示,我在同一默认网桥网络上有两个容器:
version: '3.2'
services:
pa-portal:
image: web_app_image
container_name: pa_portal
volumes:
- productDB:/web_app/db
ports:
- "8080:8080"
cypress:
image: "cypress/included:4.4.0"
depends_on:
- pa-portal
environment:
- CYPRESS_baseUrl=http://pa-portal:8080
working_dir: /cypress-testing
volumes:
- ./:/cypress-testing
volumes:
productDB:
在命令行上运行docker-compose up
会运行赛普拉斯测试,但是在运行任务以清除pa-portal
中的数据库表的测试点,我得到了错误: SQLITE_CANTOPEN :无法打开数据库文件
我的任务如下:
module.exports = (on, config) => {
on('task', {
clearInvoices() {
let db = new sqlite3.Database('pa-portal:8080/web_app/db/db.sqlite3', sqlite3.OPEN_READWRITE, (err) => {
if (err) {
console.error(err.message);
}
console.log('Connected to the database.');
});
db.run(`DELETE FROM table_name`, function (err) {
if (err) {
return console.error(err.message);
}
console.log(`Row(s) deleted ${this.changes}`);
});
return null
}
})
“ pa-portal:8080/web_app/db/db.sqlite3
”是访问另一个容器中数据库的正确方法吗?