はじめに
FTPサーバーコンテナは「ファイル転送プロトコル」の略で、リモートサーバーまたはローカルサーバーからファイルをダウンロードしたり、サーバーにファイルをアップロードしたりするための優れたプロトコルです。 FTPの使用は、正しく設定された後の主要なタスクであることがわかります。これは、サーバーがクライアントからの接続(デフォルトではポート21)をリッスンすることで機能します。クライアントは、自分のユーザーアカウントを使用してリモートディレクトリにアクセスし、付与されている権限に応じて、そこでファイルをダウンロードまたはアップロードできます。匿名認証を構成することもできます。つまり、ユーザーはFTPサーバーに接続するために自分のアカウントを必要としません。
Centos Linuxでは、さまざまなFTPサーバーコンテナとクライアントソフトウェアパッケージを利用できます。デフォルトのGUIおよびコマンドラインツールをFTPクライアントとして使用することもできます。さらに、スタイリッシュで高度に構成可能なFTPサーバーパッケージはvsftpdであり、Centosを含む多くのLinuxシステムで知られています。
このガイドでは、Centosにvsftpdをインストールするためのステップバイステップの手順について説明します。また、さまざまな設定でコンテナFTPサーバーを構成し、コマンドライン、GNOME GUI、またはFTPクライアントソフトウェアを使用してFTPサーバーに接続する方法についても説明します。 FTPユーザーの作成チュートリアル。
環境変数
このイメージは、環境変数を使用して、実行時にいくつかのパラメーターを構成できるようにします。
- 変数名:FTP_USER
- デフォルト値:admin
- 受け入れられる値:任意の文字列。空白や特殊文字は避けてください。
- 説明:デフォルトのFTPアカウントのユーザー名。実行時にFTP_USER環境変数を使用して指定しない場合、デフォルトでadminが使用されます。
- 変数名:FTP_PASS
- デフォルト値:ランダムな文字列。
- 受け入れられる値:任意の文字列。
- 説明:FTP_PASSを介してデフォルトのFTPアカウントのパスワードを指定しない場合、16文字のランダムな文字列が自動的に生成されます。この値は、コンテナログから取得できます。
- 変数名:PASV_ADDRESS
- デフォルト値:DockerホストIP/ホスト名。
- 受け入れられる値:任意のIPv4アドレスまたはホスト名(PASV_ADDRESS_RESOLVEを参照)。
- 説明:パッシブモードで使用するIPアドレスを指定しない場合は、DockerホストのルーティングされたIPアドレスを使用します。これはローカルアドレスである可能性があることに注意してください。
公開されたポートとボリューム
このイメージは、ポート20と21を公開しています。また、ユーザーのホームディレクトリを含む/ home / vsftpdと、ログの保存に使用される/ var / log/vsftpdの2つのボリュームをエクスポートします。
ホストとコンテナ(/ home / vsftpd)間でホームディレクトリを共有する場合、所有者のユーザーIDとグループIDは14と50である必要があります。これはコンテナのFTPユーザーとFTPグループに対応しますが、ホスト上の他のものと一致する場合があります。
選択したリポジトリから画像を取得します
# podman pull fauria/vsftpd

ポッドFTPサーバーコンテナを作成します:
FTPプロトコルは、デフォルトでポート21でユーザー認証をリッスンし、ポート20でデータ転送をリッスンします。ただし、/ etc / vsftpd.confファイルを少し編集することで、この動作を変更できます。ファイルの下部で、listen_portディレクティブを使用して、vsftpdが使用する別のポートを指定します。
# podman pod create --name vsftpdapp -p 21:21 --network bridge
バインドされたデータディレクトリを使用して、デフォルトのユーザーアカウントを使用してアクティブモードでコンテナを作成します:
# mkdir /vsftpd_shared
# podman run --pod vsftpdapp --name vsftpd-server -v /vsftpd_shared:/home/vsftpd -d fauria/vsftpd:la
test
ユーザーとパスワードを確認するには、以下のコマンドを使用できます。
# podman logs vsftpd-server


本番コンテナを作成 カスタムユーザーアカウントを使用して、データディレクトリをバインドし、アクティブモードとパッシブモードの両方を有効にします。
# podman run --pod vsftpdapp --name vsftpd-server --env FTP_USER=myuser --env FTP_PASS=mypass --env
PASV_ADDRESS=127.0.0.1 --restart=always -d fauria/vsftpd:latest
既存のコンテナに新しいFTPユーザーを手動で追加します:
# podman exec -i -t vsftpd-server bash
# mkdir /home/vsftpd/myuser
# chmod +x+o /home/vsftpd/myuser
# echo -e "myuser\nmypass" >> /etc/vsftpd/virtual_users.txt
ftpコマンドでftpサーバーコンテナにアクセスする
ftp 192.168.56.101
