私はコンテナの中に春の起動アプリケーションを持っています。私はいくつかのファイルを読むためにラクダを使いますが、コンテナの外で読み込みを開始し、容器の外にもある特定のパス、誰かが私を助けることができる?camel - ドッカーのコンテナの外にファイルを移動する方法
は、これは私のコードです:事前
私はコンテナの中に春の起動アプリケーションを持っています。私はいくつかのファイルを読むためにラクダを使いますが、コンテナの外で読み込みを開始し、容器の外にもある特定のパス、誰かが私を助けることができる?camel - ドッカーのコンテナの外にファイルを移動する方法
は、これは私のコードです:事前
で
@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経由でファイルを取得する必要がある場合は、コンテナが最初にそのサイトにアクセスできることを確認してください。
はいホストからファイルが必要ですが、2つの異なるパス間でファイルを読み込んで移動することは可能ですか?/ mnt/filesからファイルを読み込む必要がありますが、あとでファイルをホストの別の場所に移動する必要があります例/ var/lib/files –
はい、そうです。両方のパスを[ボリューム](https://docs.docker.com/engine/admin/volumes/volumes/#create-and-manage-volumes)にする必要があります。これにより、コンテナはアクセスできます。次に、マウントされたボリュームへの相対パスまたは絶対パスで&moveオプションを使用することができます。 – Bedla
ホスト上で必要なパスは、コンテナが到達できるようにボリュームとしてマウントする必要があります。 –
削除の代わりに[移動](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
はい、それはファイルを移動しますが、どのように指定することができますかコンテナの外にあるパス? –
"コンテナの外"とはどういう意味ですか?これがリモートFTPサーバー上のファイル移動を意味する場合、camel-file2コンポーネントから継承された "move"オプションは機能するはずです – Bedla