目前,我正在尝试学习docker,但对于
数据量实际存在的位置感到困惑。
我正在使用Windows的Docker Desktop。(Windows 10)
他们在文档中说,在对象上运行docker inspect将为您提供
源https://docs.docker.com/engine/tutorials/dockervolumes/#locating-a-volume
$ docker inspect web
"Mounts": [
{
"Name": "fac362...80535",
"Source": "/var/lib/docker/volumes/fac362...80535/_data",
"Destination": "/webapp",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}
]
但是我没有看到这个,我得到以下信息:
$ docker inspect blog_postgres-data
[
{
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/blog_postgres-data/_data",
"Name": "blog_postgres-data",
"Options": {},
"Scope": "local"
}
]
谁能帮我?我只想知道我的数据量实际存在于何处?如果是这样,我该怎么走呢?
你卷目录 /var/lib/docker/volumes/blog_postgres-data/_data
,
and /var/lib/docker
通常安装在
C:\Users\Public\Documents\Hyper-V\Virtual hard disks
. 论如何,您可以
通过查看Docker设置来进行检查。
您可以参考 these docs for info on how to share drives with Docker on
Windows.
BTW, Source
是主机Destination上的位置
,也是以下输出中容器内部的位置:
"Mounts": [
{
"Name": "fac362...80535",
"Source": "/var/lib/docker/volumes/fac362...80535/_data",
"Destination": "/webapp",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}
]
===========================================================================
更新以回答评论中的问题:
My main curiosity here is that sharing images etc is great but how do I
share my data?
实际上 volume
是为此目的而设计的(在Docker容器中管理数据)。卷中的数据保留在主机FS上,并与
Docker容器/映像的生命周期隔离。您可以通过以下方式批量共享数据:
docker run -v /path/on/host:/path/inside/container image
然后,所有数据将保留在其中 /path/on/host
;您可以备份它,将其复制到另一台计算机上,然后以相同的体积重新运行容器。
Create a data container: docker create -v /dbdata --name dbstore training/postgres /bin/true
Run other containers based on this container using --volumes-from
: docker run -d --volumes-from dbstore --name db1 training/postgres
, then all data
generated by db1
will persist in the volume of container dbstore
.
有关更多信息,您可以参考 official Docker volumes
docs.
简而言之,volumes它只是主机上包含所有
容器数据的目录,因此您可以使用以前使用的任何方法来备份/共享
数据。
我可以像处理图像一样将卷推送到docker-hub吗?
否。您可以将Docker 映像推送到Docker集线器(又称
“注册表”)。但是数据不是。您可以使用
任何喜欢的方法来备份/持久保存/共享数据,但是将数据推送到Docker注册表以共享它没有
任何意义。
我可以进行备份等吗?
是的,如上所述:-)
我现在正试图学习docker,但我对数据卷实际存在的位置感到困惑。 我使用Docker桌面的Windows。(Windows 10) 在文档中,他们说对对象运行docker检查会给你提供来源:https://docs.docker.com/engine/tutorials/dockervolumes/#locating-a-volume 但是,我没有看到这一点,我得到以下信息: 有人能帮帮我吗?我
问题内容: 我有一个ASP.NET MVC应用程序,我需要允许客户根据其环境配置MembershipProvider,但仍能够将该MembershipUser映射到我们数据库中的具体User模型。 将使我能够访问已登录用户的。我可以使用它来关联用户记录。我们的自定义SQL提供程序将仅返回User.Id,但AD则不同。在这种情况下,是。 如您所想,这些查找将非常频繁地发生(尽管缓存可以帮助减少数据库
问题内容: 在Linux中,我可以使用命令找到mysql安装目录。但是我在Windows中找不到任何东西。我尝试过,它导致许多路径以及mysql bin的路径。 我想从Windows的命令行中找到mysql数据目录,以用于批处理程序。我也想从linux命令行中找到mysql数据目录。可能吗?或我们该怎么做? 就我而言,mysql数据目录位于安装文件夹中,即它可以安装在任何驱动器上。我想从命令行返回
问题内容: 我有这种表,找到最大的标记 学生 外面应该是这样的 但我得到这种输出 我用SQL写这个 我该如何纠正sql? 问题答案: 在SQL Server中,您可以使用 尽管您也可以使用逻辑上等效的标准SQL
我想在WebSphere中配置的webapp中使用JDBC Connetion。(就像这里的这个:如何在JavaEE中使用JDBC?) 我以前通过JPA使用过此数据源,但我们的客户希望使用本机SQL。。。不要问。 我找到了很多例子和教程(例如。http://www.wickcentral.com/java/dl/ds_resreferencesetts_Websphere.pdf,Webspher
问题内容: 如何找到重复的行?如果last_name是重复字段,我想显示 任何数据库都可以,最好是oracle。 问题答案: 假设您的服务器具有GROUP_CONCAT,因为您没有提及正在使用的服务器: