Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

493
Visualizações
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

about 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

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.

about 4 years ago · Santiago Trujillo Relatório

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é.

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda