首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ruby docker-挂载卷的api

Ruby docker-挂载卷的api
EN

Stack Overflow用户
提问于 2016-05-10 18:22:15
回答 4查看 837关注 0票数 1

如何在运行时使用ruby docker-api (https://github.com/swipely/docker-api)将主机卷挂载到docker中?

基本上,这个gem的docker run -v path:path功能。

EN

回答 4

Stack Overflow用户

发布于 2016-05-10 20:48:02

当前的README缺少解释如何将卷与容器一起使用的部分。使用容器的文件夹/foo运行下面的命令应该没问题

代码语言:javascript
运行
复制
container = Docker::Container.create('Cmd' => %w[test -d /foo],
    'Image' => 'debian:wheezy',
    'Volumes' => {'/foo' => {}}
  )

如果您需要使用本地文件夹挂载,请更新到Volumes' => {'/foo' => '/local_foo'}您可以从以下位置参考测试用例:

container_spec.rb

票数 2
EN

Stack Overflow用户

发布于 2016-05-10 19:47:21

docker-api gem的文档在其README.md中说明了这一点

代码语言:javascript
运行
复制
require 'docker'

# Create a Container.
container = Docker::Container.create('Cmd' => ['ls'], 'Image' => 'base')

# Attach to the Container. Currently, the below options are the only valid ones.
# By default, :stream, :stdout, and :stderr are set.
container.attach(:stream => true, :stdin => nil, :stdout => true, :stderr => true, :logs => true, :tty => false)
# => [["bin\nboot\ndev\netc\nhome\nlib\nlib64\nmedia\nmnt\nopt\nproc\nroot\nrun\nsbin\nselinux\nsrv\nsys\ntmp\nusr\nvar", []]

# If you wish to stream the attach method, a block may be supplied.
container = Docker::Container.create('Image' => 'base', 'Cmd' => ['find / -name *'])
container.tap(&:start).attach { |stream, chunk| puts "#{stream}: #{chunk}" }
stderr: 2013/10/30 17:16:24 Unable to locate find / -name *
# => [[], ["2013/10/30 17:16:24 Unable to locate find / -name *\n"]]

# If you want to attach to stdin of the container, supply an IO-like object:
container = Docker::Container.create('Image' => 'base', 'Cmd' => ['cat'], 'OpenStdin' => true, 'StdinOnce' => true)
container.tap(&:start).attach(stdin: StringIO.new("foo\nbar\n"))
# => [["foo\nbar\n"], []]

这有帮助吗?我能问一下你为什么要使用docker-api吗?你不能直接使用docker volumes (-v)

票数 1
EN

Stack Overflow用户

发布于 2018-05-10 21:06:10

使用Binds

代码语言:javascript
运行
复制
'Binds'     => ['/local/folder:/container/folder']
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37135696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档