web-dev-qa-db-ja.com

リモートサーバーのDockerコンテナにFTPファイルを

FTPクライアントを使用してリモートUbuntuサーバーで実行されているDockerコンテナに転送ファイルを転送するにはどうすればよいですか?サーバーにSSHで接続し、docker cpを使用できます。これは正常に機能します。しかし、私にはFileZillaのようなものでそうすることができる必要があるクライアントがいます。これは可能ですか?

7
rurp

私はdockerの専門家ではありませんが、これを試すことができます:

コンテナを実行すると、複数のポートを公開できます。したがって、FTPポートも公開できます。

docker run --name containername -p 3000:80 -p 3001:21 -d dockerimagename

この例では、-p 3001:21コンテナのポート21をサーバーのポート3001に公開しているので、ホストにサーバーのIPを使用し、ポートとして3001を使用してfilezillaで入力できます。

5
Leonardo Cabré

実行中のコンテナイメージにファイルを転送しないでください。 それは本当に悪い考えです。

コンテナは常に出入りします。ほとんどのコンテナオーケストレータはコンテナを自動再起動するため、コンテナが元のイメージからきれいに再起動すると、アップロードしたファイルはワイプされます。

ベストプラクティス:コンテナ内で実行されている本番アプリケーションに変更を加える必要があるたびに、コンテナイメージを再構築して再デプロイします。

テスト目的で必要な場合:コンテナは1つのプロセス(つまり、ENTRYPOINTアプリケーション)のみを実行することになっているため、DockerコンテナはFTPサーバーを公開しません。ただし、docker cpなどのコマンドを使用して、実行中のコンテナーとの間でファイルをコピーできます。

0
AhmetB - Google