我有一个Docker容器,其挂载点位于/ofs
,指向存储在AWS S3中的ObjectiveFS卷。 ObjectiveFS卷包含一些文件。
以下是容器内的相关输出:
root@d817213fe73a:/ofs# mount
/dev/mapper/docker-202:1-263633-d817213fe73ac81cafa7e5c7ab45567835327a27d2b5e57aef496a28e5398c47 on / type xfs (rw,relatime,nouuid,attr2,inode64,logbsize=128k,sunit=256,swidth=1024,noquota)
...
s3://<my_s3_bucket> on /ofs type fuse.objectivefs (rw,relatime,user_id=0,group_id=0,default_permissions,allow_other)
root@d817213fe73a:/ofs# ls -l /ofs
total 2
-rw-rw-rw- 1 root root 605 Apr 26 17:33 README
-rw-r--r-- 1 root root 20 Apr 26 18:00 test.txt
root@d817213fe73a:/ofs#
我想将/ofs
中的数据与另一个容器共享。
我尝试在第一个容器中的/ofs
创建一个Docker卷,并使用docker run -v /ofs first_container
和docker run --volumes-from first_container second_container
与第二个容器共享它,但是这样做时文件在/ofs
处不会显示在主机上的卷目录中,因此另一个容器无法访问它们:
[root@ip-172-17-1-106 ~]# ls -al /var/lib/docker/volumes/209cc29d6046d80db80194650871173bc137061de1d8c509a45a32c8142e5306/_data/
total 8
drwxr-xr-x 2 root root 4096 May 1 15:23 .
drwxr-xr-x 3 root root 4096 May 1 15:23 ..
[root@ip-172-17-1-106 ~]#
以下是第一个容器中findmnt /ofs
的输出:
root@2d3c0f90f46d:/ofs# findmnt /ofs
TARGET SOURCE FSTYPE OPTIONS
/ofs /dev/xvda1[/var/lib/docker/volumes/209cc29d6046d80db80194650871173bc137061de1d8c509a45a32c8142e5306/_data] ext4 rw,noatime,data=ordered
/ofs s3://<my_s3_bucket> fuse.objectivefs rw,relatime,user_id=0,group_id=0,default_permis
root@2d3c0f90f46d:/ofs#
以下是两个容器的相关docker inspect
输出:
第一个容器
"HostConfig": {
"Binds": [
"/var/lib/docker/volumes/209cc29d6046d80db80194650871173bc137061de1d8c509a45a32c8142e5306/_data:/ofs"
]
},
"Mounts": [
{
"Source": "/var/lib/docker/volumes/209cc29d6046d80db80194650871173bc137061de1d8c509a45a32c8142e5306/_data",
"Destination": "/ofs",
"Mode": "",
"RW": true
}
]
第二个容器
"HostConfig": {
"Binds": [
"/var/app/current/php-app:/var/www/html:ro"
]
},
"Mounts": [
{
"Source": "/var/lib/docker/volumes/209cc29d6046d80db80194650871173bc137061de1d8c509a45a32c8142e5306/_data",
"Destination": "/ofs",
"Mode": "",
"RW": true
},
{
"Source": "/var/app/current/php-app",
"Destination": "/var/www/html",
"Mode": "ro",
"RW": false
}
]
当/ofs
作为挂载点时,是否知道如何与第二个容器共享第一个容器上的/ofs
目录?
答案 0 :(得分:0)
您是否尝试将卷直接安装在主机上并与容器共享?
docker run -it -v /ofs:/ofs ubuntu