2017-11-11 13 views
0

私はコンテナの中に春の起動アプリケーションを持っています。私はいくつかのファイルを読むためにラクダを使いますが、コンテナの外で読み込みを開始し、容器の外にもある特定のパス、誰かが私を助けることができる?camel - ドッカーのコンテナの外にファイルを移動する方法

は、これは私のコードです:事前

+0

削除の代わりに[移動](http://camel.apache.org/file2.html)URIオプションを使用します。 https://stackoverflow.com/questions/19905462/how-to-rename-and-move-the-file-on-ftp-once-processed-by-camel – Bedla

+0

はい、それはファイルを移動しますが、どのように指定することができますかコンテナの外にあるパス? –

+0

"コンテナの外"とはどういう意味ですか?これがリモートFTPサーバー上のファイル移動を意味する場合、camel-file2コンポーネントから継承された "move"オプションは機能するはずです – Bedla

答えて

1

@Component 
public class Controlador extends RouteBuilder { 

    @Autowired 
    Procesador objProcesador; 

    @Override 
    public void configure() throws Exception { 
     from("ftp://[email protected]:port?password=password&passiveMode=true&delete=true").streamCaching().convertBodyTo(InputStream.class).process(objProcesador).to("/var/lib"); 
    } 

} 

おかげで、あなたは、コンテナの外に何をすることによって意味ですか?コンテナを実行しているホスト上のパスを意味する場合は、そのパスをボリュームとして共有する必要があります。 "docker run.."を使用するとき、またはDockerfileを使用するときに音量を設定します。 Camelがftpまたはsftp経由でファイルを取得する必要がある場合は、コンテナが最初にそのサイトにアクセスできることを確認してください。

+0

はいホストからファイルが必要ですが、2つの異なるパス間でファイルを読み込んで移動することは可能ですか?/ mnt/filesからファイルを読み込む必要がありますが、あとでファイルをホストの別の場所に移動する必要があります例/ var/lib/files –

+0

はい、そうです。両方のパスを[ボリューム](https://docs.docker.com/engine/admin/volumes/volumes/#create-and-manage-volumes)にする必要があります。これにより、コンテナはアクセスできます。次に、マウントされたボリュームへの相対パスまたは絶対パスで&moveオプションを使用することができます。 – Bedla

+0

ホスト上で必要なパスは、コンテナが到達できるようにボリュームとしてマウントする必要があります。 –

関連する問題