【Docker】SFTPサーバコンテナ構築手順と使い方(atmoz/sftp)


DockerですぐにSFTPサーバを構築したい方は「atmoz/sftp」をお勧めします。
このSFTPサーバはDockerをインストールしている状態であれば、構築時間は1分もあれば完了します。

Dockerのインストールはこちらから

【CentOS8】Dockerインストールと起動・SSHアクセスまで(無償版CE)

2020年11月15日

DockerコンテナでSFTPサーバを簡単に構築する手順(atmoz/sftp)

SFTPサーバのコンテナは以下のイメージから作成します。
【GitHub】atmoz/sftp

このSFTPサーバーの構築は公式ページの設定に沿って実行します。

Dockerイメージダウンロード+コンテナ起動

以下コマンドでDockerイメージのダウンロード、コンテナ起動を実施します。

コマンドの内容は以下となります。

  • ポート:22番使用
  • Dockerイメージ:atmoz/sftp
  • ユーザー/パスワード:foo/pass
  • アップロードフォルダ:upload
# docker run -p 22:22 -d atmoz/sftp foo:pass:::upload
Unable to find image 'atmoz/sftp:latest' locally
latest: Pulling from atmoz/sftp
e22122b926a1: Pull complete
df7e8e13024a: Pull complete
5e2e5786172c: Pull complete
235b2ad99f20: Pull complete
9c74c05cbe4d: Pull complete
Digest: sha256:49110a019fb90e9dd869c361702307015f15649282047764e957ecf07eaa2325
Status: Downloaded newer image for atmoz/sftp:latest
c64b563185138337418af5576604880ab3e84cefa1e699003111fd6e84e4f3fa

以下コマンドでSFTPイメージがダウンロードされていることを確認

# docker images
REPOSITORY            TAG       IMAGE ID       CREATED        SIZE
atmoz/sftp            latest    7381cb94f5bd   23 hours ago   154MB

以下コマンドでコンテナが起動していることが確認できます。

# docker ps
CONTAINER ID   IMAGE                 COMMAND                  CREATED          STATUS             PORTS                                                      NAMES
c64b56318513   atmoz/sftp            "/entrypoint foo:pas…"   26 seconds ago   Up 24 seconds      0.0.0.0:22->22/tcp                                         heuristic_knuth


Dockerコンテナ(SFTPサーバ)動作確認

実際にSFTPサーバへアクセスします。
ユーザ名は「foo」となるので以下のコマンドでアクセスします。

アクセス後、パスワードを聞かれたら「pass」と入力しエンターをします。
「Connected」の表記が出ればOKです。

# sftp foo@localhost
The authenticity of host 'localhost (127.0.0.1)' can't be established.
ED25519 key fingerprint is SHA256:jfugvH6XQbC8OBd/NBoBpL05GJVhu4plMtJzBUS2lBs.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'localhost' (ED25519) to the list of known hosts.
foo@localhost's password:
Connected to foo@localhost.
sftp>

ファイルアップロード先へ移動

このSFTPのファイルアップロード先のフォルダ「upload」に移動します。

sftp> ls
upload
sftp> cd upload/
sftp> pwd
Remote working directory: /upload

SFTPサーバ動作確認(アップロード)

SFTPサーバへファイルをアップロードします。

sftp> cd upload/
sftp> put test.txt
Uploading test.txt to /upload/test.txt
test.txt                                                                                                     100%    0     0.0KB/s   00:00
sftp>
sftp> ls
test.txt
sftp> quit

SFTPサーバ動作確認(ダウンロード)

SFTPサーバからファイルをダウンロード「します。

sftp> cd upload/
sftp> get test.txt
Fetching /upload/test.txt to test.txt
sftp> quit
[root@CetOS8]# ls
test.txt

以上がDockerコンテナ(SFTP)の起動と動作確認となります。

Docker「FTP」サーバの構築は以下の記事を参照

【Docker】FTPサーバコンテナ構築手順と使い方(Pure-ftpd Server)

2021年3月11日

SFTPをすぐに構築したいときは参考にしてください。


関連記事


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUTこの記事をかいた人

blank

インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!