Tag: docker volume

Docker远程使用ZFS作为卷后端的经过validation的选项是什么?

所以随着卷的引入,我们不再使用纯数据容器! 尼斯。 但是现在我有了这个很好的本土ZFS设备,我想用它作为docker卷的后端(当然Docker正在其他主机上运行)。 我可以将NFS作为NFS导出,这相当容易,对于使用NFS作为docker的卷后端,有哪些certificate(即经过战斗testing)的选项? 谷歌search向我展示了以下几种可能性: 使用Flocker,我可以使用zfs设备上的flocker-agent-thingie。 然而,当弗洛克被报废时,我担心… 使用local卷后端,并简单地挂载在docker主机上的NFS导出 – >不扩展,但可能会做的工作。 使用像https://github.com/ContainX/docker-volume-netshare这样的专门的插件来利用nfs 像Rancher: https : //github.com/rancher/convoy 或者变大,使用Kubernetes和NFS作为永久存储器https://kubernetes.io/docs/concepts/storage/volumes/#nfs 我有相当广泛的单机主机的Docker知识 – 哪个选项是稳定的? 性能对我来说并不重要(可惜的是,使用情况是dockerized OwnCloud / NextCloud堆栈,吞吐量受到Internet连接的限制)

附加一个docker集装箱的标准输出到另一个docker集装箱的标准input

我想将容器A中的脚本的标准输出传递给容器B的标准input,然后将容器B的标准输出传递给容器C的标准input。我想知道做同样的最佳做法是什么。 选项1 docker run -it ImageA python script1.py | docker run -it ImageB python script2.py | \ docker run -it Image3 python script3.py 选项2 使用共享卷来存储可被后续容器访问的数据。 docker run -it -v /home/shared_volume:/container1_home/shared_volume python script1.py docker run -it -v /home/shared_volume:/container2_home/shared_volume python script2.py docker run -it -v /home/shared_volume:/container3_home/shared_volume python script3.py 理想情况下,我宁愿不使用共享卷。 script1.py和script2.py的输出产生大约数TB的中间文件(或数据stream)。 我对这些文件不感兴趣,我宁愿将script3.py的结果存储到磁盘。

无法使用Rex-Ray和VirtualBox Media存储将持久卷装载到Docker容器 – “托pipe对象引用无效”错误

我正在尝试使用Rex-Ray插件将数据卷挂载到Docker容器。 我select了VirtualBox Media作为存储提供者。 我使用的版本是: Docker 1.12.5 Rex-Ray 0.6.3和libStorage 0.3.5 VirtualBox基础包5.1.12 设置: 一个在VirtualBox中运行的CentOS 7虚拟机 Docker 1.12.5在CentOS 7虚拟机上运行 Rex-Ray在CentOS 7虚拟机上安装并运行 Mac OS X 10.12.1主机 在Mac OS主机上: 1。 我用VBoxManage setproperty websrvauthlibrary nullclosuresVirtualBox SOAP APIauthentication 2。 我使用vboxwebsrv -H 0.0.0.0 -v启动VirtualBox SOAP API以允许Rex-Ray与VirtualBox进行通信 在CentOS 7虚拟机中,我正在做以下操作(以root身份): 1。 用systemctl start docker Docker启动Docker 2。 创buildRex-Ray /etc/rexray/config.yml文件: libstorage: service: virtualbox integration: volume: operations: mount: […]

使用rsync在分区之间复制docker镜像文件夹

我想将我的/var/lib/docker数据移到另一个地方,为了安全起见,我想使用rsync 。 但是数据存储在稀疏文件中,rsync似乎没有正确处理它。 什么是正确的参数为rsync ? -a保留正确的uid / gid +权利 -S有效地处理稀疏文件,但rsync永远不会结束 如果没有-S ,rsync会尝试复制比原始位置可以包含更多的数据(48G分区上的100G)。 随着-S ,我似乎永远停留在10G左右。

在Docker容器中运行`mkdir`时,权限被拒绝

我正在使用Docker Compose来运行多个容器,包括一个Postgres图像。 我正在尝试将卷添加到该容器,以便在容器构build中保留我的数据。 但是,当我试图在容器中为这个卷创build一个目录时,我收到一个错误。 我运行: docker-compose build 然后 docker-compose up 我收到以下错误: 错误:对于cxbenchmark_db_1无法启动服务db:oci运行时错误:container_linux.go:265:启动容器进程导致“process_linux.go:368:容器init导致”rootfs_linux.go:57:挂载\\“/ var / lib /泊坞窗/卷/ 69845a017b4465e9122852a75ca194db473df95fa218658b8a60fb56eba9be9e / _data \\ “来根文件系统\\ ”的/ var / lib中/泊坞窗/ overlay2 / 627956d63fb0480448079577a83b0b54f83866fdf31136b7c669541c3f672355 /合并\\“ 在\\” 的/ var / lib中/泊坞窗/ overlay2 / 627956d63fb0480448079577a83b0b54f83866fdf31136b7c669541c3f672355 /合并的/ var / lib中/ postgresql / data \\“导致\\”mkdir / var / lib / docker / overlay2 / 627956d63fb0480448079577a83b0b54f83866fdf31136b7c669541c3f672355 […]

在Docker卷的NFS4共享中支持文件locking

这里是我docker-compose.yml文件的摘录: volumes: nfs_share: driver: local driver_opts: type: nfs o: addr=nfs_server,rw,noatime device: ":/srv/nfs_share" 卷已正确安装在主机上。 但是,在我的docker实例,我不能使用文件locking。 例: # exec 3 > test_file # flock -x 3 flock: 3: No locks available 如果我在主机上手动挂载分区,我可以使用文件locking没有任何问题。 另外,我看到Docker没有使用正确的协议版本安装NFS共享: :/srv/nfs_share on /var/lib/docker/volumes/registry_registry/_data type nfs (rw,relatime,vers=3,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr={MYIPADDR},mountvers=3,mountproto=tcp,local_lock=none,addr={MYIPADDR}) 但是,如果我在主机上手动挂载分区,则NFS4将被正确使用: nfs:/srv/nfs_share on /mnt/nfs_share type nfs4 (rw,relatime,vers=4.0,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr={MYIPADDR},local_lock=none,addr={MYIPADDR}) 我尝试添加nolock选项,或local_lock=all ,这些选项似乎被忽略…我也试着指定vers=4.0选项,或使用type: nfs4 …所有这些变体不会改变任何东西。

Docker:将新的postgres容器重新连接到现有的Data容器

我有3个docker集装箱。 一个运行django,另一个运行postgres,第三个是postgres的数据容器。 我正在使用docker-compose来连接它们。 泊坞窗,compose.yml dbdata: image: postgres container_name: dbdata_container volumes: – ./data:/var/lib/postgresql/data command: true db: image: postgres container_name: postgres_container ports: – "5432:5432" volumes_from: – dbdata web: build: . container_name: django_container command: python manage.py runserver 0.0.0.0:8000 volumes: – .:/code ports: – "8000:8000" links: – db 我错误地删除了我的postgres容器。 如何创build一个连接到现有数据容器的新的postgres容器? 我试过跑步了: docker-compose up 它失败,并出现以下错误: web_1 | django.db.utils.OperationalError: could not […]

不能用docker命令启动mongo,但是可以在容器内使用/ bin / bash(使用数据卷)

这个docker-compose.yml : services: database: image: mongo:3.2 ports: – "27017" command: "mongod –dbpath=/usr/database" networks: – backend volumes: – dbdata:/usr/database volumes: dbdata: 导致这个错误(剪切): database_1 | 2016-11-28T06:30:29.864+0000 I STORAGE [initandlisten] exception in initAndListen: 98 Unable to create/open lock file: /usr/database/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating 同样只是试图直接在使用该图像的容器中运行命令: $ docker run -v /usr/database mongo:3.2 mongod […]

Docker容量限制在BlueMix上

Docker容器让我们方便地为持久数据装入卷。 我已经研究过了,如果我理解正确的话,卷的空间分配受容器主机驱动器空间的限制。 我的问题是 – 这是如何转化为像Bluemix这样的云系统? 使用容器(在Bluemix上 ),您可以将驱动器限制设置为32GB等,并知道您可以使用32GB的容器运行映像。 任何创build的卷也被限制在32GB的限制? 我无法find任何文件。 我发现最近的是创build“数据容器”,其中数量限制是数据容器的大小。 但是,如果我只是创build一个卷,并将其安装到一个容器,什么规则pipe理该特定卷的大小限制? 运行检查 { "hostPath": "/vol/af2f348b-cad6-4b86-ac0c-b1bc072ca241/PGDATA", "spaceGuid": "af2f348b-cad6-4b86-ac0c-b1bc072ca241", "volName": "PGDATA" } 这个问题似乎是Bluemix所特有的,但并不一定,因为它可能揭示其他“容器即服务”提供商可能使用的做法。