PS> docker run -d -p 1433:1433 --name sql1 -v sql1data:C:/sqldata -e sa_password=MyPass123 -e ACCEPT_EULA=Y microsoft/mssql-server-windows-developer
PS> docker cp .\DataBase.bak sql1:C:\data
Error response from daemon: container 5fe22f4ac151d7fc42541b9ad2142206c67b43579ec6814209287dbd786287dc encountered an error during Start: failure in a Windows system call: Le système de calcul s’est fermé de façon inattendue. (0xc0370106)
Error: failed to start containers: sql1
我可以启动和停止任何其他容器,只有将文件复制到卷中后,才会出现问题。 我正在使用Windows容器 我的docker版本是18.06.0-ce-win72(19098)
我发现的唯一解决方法是不将任何文件复制到我的容器卷中。
答案 0 :(得分:0)
似乎是因为文件的所有权和权限。当您通过复制文件进行备份并将这些文件用于新的Docker Container
时,MYSQL Daemon
中的Docker Container
会发现其文件的所有权和权限已更改。
我认为最好的方法是创建一个原始MySQL Docker Container
并查看谁是该容器中备份文件的所有者(我想它必须是1000)。然后将备份文件的所有者更改为该用户ID,然后创建一个Container
且映射到您的备份文件的Volumes
。