问题详细描述: 2020-09-04 11:28:19,576 [DefaultQuartzScheduler_Worker-1] DEBUG MySql.Data.MySqlClient.MySqlException (0x80004005): Fatal error encountered during command execution. —> MySql.Data.MySqlClient.MySqlException (0x80004005): Fatal error encountered attempting to read the resultset. —> MySql.Data.MySqlClient.MySqlException (0x80004005): Reading from the stream has failed. —> System.IO.EndOfStreamException: 尝试读取超出流末尾的内容。 在 MySql.Data.MySqlClient.MySqlStream.ReadFully(Stream stream, Byte[] buffer, Int32 offset, Int32 count) 在 MySql.Data.MySqlClient.MySqlStream.LoadPacket() 在 MySql.Data.MySqlClient.MySqlStream.LoadPacket() 在 MySql.Data.MySqlClient.MySqlStream.ReadPacket() 在 MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId) 在 MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId) 在 MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force) 在 MySql.Data.MySqlClient.MySqlDataReader.NextResult() 在 MySql.Data.MySqlClient.MySqlDataReader.NextResult() 在 MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior) 在 MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior) 在 MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataReader(CommandBehavior behavior) 在 System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) 在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] […]
View Details当docker容器创建后,忘记挂接做本地与容器目录挂接后,导致数据存储都是存在容器中,如果想修改容器内文件或替换,就需要通过以下命令替换。
1 |
docker cp [本地目录或文件]: [容器名][容器内目录] |
为了方便,只要在linux目录替换,可以通过容器挂载的方式,只要替换linux的目录,就能实现容器内的文件变更。 挂载目录步骤如下: 1、停止docker运行
1 |
systemctl stop docker |
2、修改容器的配制文件 容器路径:/var/lib/docker/containers/[容器ID] 修改的文件: 2.1、hostconfig.json 在"Binds"节点中增加挂载目录的关系,如:
1 |
"Binds" ["/opt/docker/test/webapps:/opt/apache-tomcat-8.5.40/webapps"] |
前面的是本地目录,后面的是容器目录,多个的话,用逗号隔开。 2.2、config.v2.json 在"MountPoints" 节点中增加挂载目录。如:
1 |
"MountPoints": {"/opt/apache-tomcat-8.5.40/webapps": {"Source": "/opt/docker/test/webapps","Destination": "/opt/apache-tomcat-8.5.40/webapps","RW": true,"Name": "","Driver": "","Type": "bind","Propagation": "rprivate","Spec": {"Type": "bind","Source": "/opt/docker/test/webapps","Target": "/opt/apache-tomcat-8.5.40/webapps"},"SkipMountpointCreation": false}} |
3、重新docker,开启容器
1 |
systemctl start dockerdocker start [容器名或容器ID] |
以上是以修改正在运行的容器的方式挂载目录。 还有简单的方式: 提交现有容器为新镜像,然后重新运行挂载。 from:https://blog.csdn.net/weixin_36431535/article/details/113067296
View Details