Как мне получить доступ к другому контейнеру из моего контейнера Cypress на Docker? - PullRequest
0 голосов
/ 06 августа 2020

У меня есть два контейнера в одной и той же сети моста по умолчанию, как показано в моем 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 в моей командной строке запускает тесты Cypress, однако в точке тесты, в которых выполняется задача по очистке таблицы базы данных в 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' правильным способом доступа к базе данных в другом контейнере?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...