Ошибка при попытке установить базу данных Oracle в контейнер Docker Windows

Мне нужно создать контейнер Docker Windows с базой данных Oracle 18c на нем.

Я следовал этому руководству от Oracle (стр. 19–26): https://www.oracle.com/technetwork/topics/dotnet/tech-info/oow18windowscontainers-5212844.pdf

Когда я выполняю настройку, используя файл ответов с этой командой:

RUN c:\data\db_home\setup.bat -silent -noconfig -noConsole -ignorePrereq -J"-
Doracle.install.db.validate.supportedOSCheck=false" -responseFile c:\data\db.rsp

Я получаю следующую ошибку:

[FATAL] PRVG-1901 : failed to setup CVU remote execution framework directory 
"C:\Users\ContainerAdministrator\AppData\Local\Temp\InstallActions2020-07-17_01-18-
31PM\CVU_18.0.0.0.0_ContainerAdministrator\" on nodes "975ef812cf39" Please select a different work 
area for the framework 975ef812cf39 : PRKN-1014 : Failed to execute remote command
"C:\Users\ContainerAdministrator\AppData\Local\Temp\InstallActions2020-07-17_01-18-
31PM\CVU_18.0.0.0.0_ContainerAdministrator\\exectask.exe" on node "975ef812cf39".Failed during 
connecting to service 975ef812cf39 : Failed during connecting to service

Вот моя конфигурация:

  • Windows 10 Pro, сборка 2004

  • Docker Desktop версии 2.3.03

Контейнер:

  • Серверное ядро ​​Windows, сборка 2004
  • Oracle Database 18c

Несколько дней провожу тесты, но решить эту проблему так и не удалось ...


person Sultaker    schedule 17.07.2020    source источник


Ответы (2)


Вы можете просто взять готовые образы докеров здесь: https://github.com/oracle/docker-images/tree/master/OracleDatabase

person Sayan Malakshinov    schedule 17.07.2020
comment
Из того, что я видел, этот DockerFile использует для своего образа oraclelinux. Я не могу этого сделать, так как использую контейнеры Windows. - person Sultaker; 18.07.2020
comment
@Sultaker Я успешно запустил образ Oracle Linux с Oracle 18 и 19 в WIndows 10 - person Sayan Malakshinov; 18.07.2020
comment
Я знаю, что вы можете запускать linux в контейнерах в Windows 10, но помимо Windows 10 на моем хосте, в Docker я использую контейнеры Windows (вы можете переключаться между контейнерами Windows и Linux в докере), а в режиме контейнера Windows я не могу установить контейнер linux, я получаю сообщение об ошибке, что нормально. Короче говоря, я не нашел решения, поэтому переключил свой Docker в режим контейнера Linux и установил Oracle с упомянутым github. В любом случае спасибо за вашу помощь - person Sultaker; 23.07.2020
comment
Вы можете установить wls2 и использовать собственный докер Linux в Windows - person Sayan Malakshinov; 23.07.2020

Обычно ошибка PRVG-1901 связана с проблемой привилегий.

  • Запускаем консоль от имени администратора
  • Проверьте, существует ли REG DWORD с именем AutoShareWks (в реестре Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters). Это не так. Но если это так, убедитесь, что установлено значение 1, и перезапустите.
  • Остановлен сервис OracleRemExecServiceV2

В моем случае, запуск консоли от имени администратора устранил проблему.

person Roberto Hernandez    schedule 17.07.2020
comment
Я также заметил, что это произошло из-за отсутствия разрешения, но setup.bat работает внутри моего контейнера Windows Server Core, и я не знаю, как запустить консоль в качестве администратора в контейнере. (На моем физическом компьютере я, конечно, запустил командную строку в режиме администратора, но я не думаю, что это так на контейнере). - person Sultaker; 18.07.2020