Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

499
Views
No se puede iniciar ningún contenedor cuando los volúmenes están habilitados Docker Toolbox

Estoy ejecutando Docker Toolbox v. 1.13.1a en Windows 7 Pro Service pack 1 x64 OS. con Virtual Box Version 5.1.14 r112924

cuando trato de ejecutar cualquier imagen acoplable, por ejemplo official postgres image de Docker Hub con volúmenes deshabilitados, ¡funciona bien!

Pero cuando enable the volumes falla .

Intenté todas las documentaciones oficiales.

La VM tiene una carpeta compartida según sea necesario y tiene full access a ella también captura de pantalla de carpeta compartida

En el caso de mi ejemplo de postgresql, falla con el siguiente log

 The files belonging to this database system will be owned by user "postgres". This user must also own the server process. The database cluster will be initialized with locale "en_US.utf8". The default database encoding has accordingly been set to "UTF8". The default text search configuration will be set to "english". Data page checksums are disabled. fixing permissions on existing directory /var/lib/postgresql/data ... ok creating subdirectories ... ok selecting default max_connections ... 100 selecting default shared_buffers ... 128MB selecting dynamic shared memory implementation ... posix selecting default max_connections ... 100 selecting default shared_buffers ... 128MB selecting dynamic shared memory implementation ... posix creating configuration files ... ok running bootstrap script ... LOG: could not link file "pg_xlog/xlogtemp.27" to "pg_xlog/000000010000000000000001": Operation not permitted FATAL: could not open file "pg_xlog/000000010000000000000001": No such file or directory child process exited with exit code 1 initdb: removing contents of data directory "/var/lib/postgresql/data"

Sé que es el problema con los folder permissions . ¡Pero un poco atascado! mil gracias de antemano

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Estuve ocupado con este problema todo el día y llegué a la conclusión de que actualmente simplemente no es posible ejecutar postgresql dentro de un contenedor docker mientras mantiene sus datos persistentes en un volumen separado.

Incluso intenté ejecutar el contenedor sin vincularlo a un volumen y copiar los datos que estaban originalmente en /var/lib/postgresql en una carpeta de mi sistema operativo host (Windows 10 Home), luego copié eso en la carpeta que luego se vinculó al contenedor en sí.

Por desgracia, tengo el siguiente error:

 FATAL: data directory "/var/lib/postgresql/data/pgadmin" has wrong ownership HINT: The server must be started by the user that owns the data directory.

En conclusión: algo va mal con la propiedad y el usuario correcto que lo posee y para poder solucionarlo, necesitará una línea de comandos de Unix en Windows que pueda ejecutar Docker (algo que actualmente no es posible con Bash en Ubuntu en Windows que se ejecuta con binarios de Ubuntu 16.04).

Tal vez, en el futuro, podrá ejecutar los comandos necesarios (que se encuentran aquí , en Arbitrary --user Notes ), pero estos son comandos *nix y powershell (iniciado por Kitematic) no puede ejecutarlos. Bash para Ubuntu para Windows podría ejecutarlos, pero ese shell no tiene conexión con el demonio/servicio de la ventana acoplable en Windows...

TL; DR: Perdió un día de trabajo: actualmente es imposible en Windows.

over 4 years ago · Santiago Trujillo Report

0

He estado tratando de solucionar este problema también ..

Al principio pensé que era un problema de enlace simbólico (porque el primer error falla en "no se pudo vincular... operación no permitida)

Para asegurarse de que el enlace simbólico esté permitido, debe:

  1. compartir una carpeta en virtualbox
  2. ejecute virtualbox como administrador (si su cuenta está en el grupo de administradores) Haga clic derecho en virtualbox.exe y seleccione ejecutar como administrador
  3. si su cuenta no es administrador, agregue el privilegio de enlace simbólico con secpol.msc > "Políticas locales-Asignaciones de derechos de usuario" agregue su usuario a "Crear enlaces simbólicos"
  4. habilite el enlace simbólico para su carpeta compartida en virtualbox:

VBoxManage setextradata VM_NAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARED_FOLDER_NAME 1

Alternativamente, también puede usar la carpeta c:\User\username que se comparte y el enlace simbólico habilitado por la instalación predeterminada de dockertools

Ahora puedo crear enlaces simbólicos en la carpeta compartida desde el contenedor docker... pero sigo teniendo el mismo error "no se pudo vincular... operación no permitida"

Entonces, la razón debe estar en otro lugar ... en los permisos del archivo, como dijiste, pero no veo por qué.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!