実行時にruby docker-api(https://github.com/swipely/docker-api)を使用してホストボリュームをドッカーにマウントするにはどうすればよいですか?Ruby docker-apiでボリュームをマウントする
基本的には、docker run -v path:path
の機能がこの宝石です。そのREADME.mdでdocker-api gem状態このため
実行時にruby docker-api(https://github.com/swipely/docker-api)を使用してホストボリュームをドッカーにマウントするにはどうすればよいですか?Ruby docker-apiでボリュームをマウントする
基本的には、docker run -v path:path
の機能がこの宝石です。そのREADME.mdでdocker-api gem状態このため
ドキュメント:
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)は使えませんか?
現在のREADME
は、ボリュームをコンテナでどのように使用するかについて説明する部分がありませんでした。本当に
これは機能しません。私はエラー "json:ローカルフォルダでこれを試してみると、型のGo値にオブジェクトを非整列化できない"というエラーが表示されます。また、ドッカーの検査で確認したところ、オプション-vを使用すると、エントリ「マウント」の下にエントリが追加され、「ボリューム」の下にある情報が – nino
であれば、このhttps:// github.com/swipely/dockly/blob/master/lib/dockly/build_cache/docker.rb#L61? – BMW
とこれ:https://github.com/swipely/docker-api/issues/344 – BMW
I:あなたは
Volumes' => {'/foo' => '/local_foo'}
に、ローカルフォルダにアップデートをマウントする必要がある場合は、からテストケースを参照することができ/foo
コンテナのフォルダで以下のコマンドを実行するために問題ないはずです理解していない。あなたが提供した例では、ローカルボリュームはどこに接続されていますか?これらの例では、stdoutとstdinがリダイレクトされているだけです。 – nino