Linode(格安VPS)でDocker用ホストを準備する手順メモ

Container Linux(旧称:CoreOS Linux)がいよいよEnd Of Lifeということで、ホストOSを乗り換える必要が出てきました。

後継のFedora CoreOSは、これまでのCoreOSとはいろいろ使い勝手が異なるようですので、現在運用中のサービスにいきなり投入するのはちょっと怖いなと思いまして、Linodeの管理マネージャからワンクリックでインストールできるDebianをベースにしたDocker用イメージを使うことにしました。

これから、複数のサーバの引っ越し作業を行わなくてはなりませんので、作業方法をメモしておこうと思います。

Linodeサーバを作る

例によってVPSはLinodeを利用します。OSを選択する場面では、Distributionsからではなく、One-Clickから「Docker」を選択します。すると、 Debian9にDockerをインストール済みのマシンを立ち上げることができます。

RegionはもちろんTokyoを選択して、CPUやメモリ、ストレージなどは要件に合わせて選択し、rootのパスワードを設定して有効化すれば、あれよという間にVPSが起動します。

ここからはコンソールでの作業になります。
rootユーザとしてログインして作業を開始します。

パッケージを更新する

まずはお約束ですね、パッケージの更新を行います。

$ apt update
$ apt upgrade
$ apt autoremove

作業用のユーザを作ります。sudo出来るようにしておきます。

$ adduser <ユーザ名>
$ gpasswd -a <ユーザ名> sudo

忘れないうちにホスト名を指定しておきましょう。忘れるとDocker Swarmでオーケスレーション組んだ時に叱られますので。

sudo hostnamectl set-hostname <ホスト名>
sudo sh -c 'echo 127.0.1.1 $(hostname) >> /etc/hosts'

ここからは作業用のユーザでログインし直して作業を進めます。

鍵を作る

何はなくとも鍵を作らないとね。

$ ssh-keygen -t rsa
$ cd ~/.ssh/
$ cat id_rsa.pub >> authorized_keys
$ chmod 600 authorized_keys
$ chmod 700 ~/.ssh
$ rm id_rsa.pub

.ssh内の「id_rsa」をクライアントPCにダウンロードしておきます。

SSHの設定

SSHの設定を行います。rootでのログイン及びパスワードでのログインを禁止します。

$ sudo vi /etc/ssh/sshd_config

- Port 22
+ Port <ポート> # ポートを変更

- PermitRootLogin yes
+ PermitRootLogin no # ルートのログインを禁止

- PubkeyAuthentication no
+ PubkeyAuthentication yes # 公開鍵でログイン

- PasswordAuthentication yes
+ PasswordAuthentication no # パスワードでのログインを禁止

- UsePAM yes
+ usePAM no # PAM認証の禁止


$ sudo systemctl restart ssh

LinodeのDocker用イメージは、ファイヤーウォールの設定も適切に行われているみたい。ポートスキャンを行ってみたけど、きちんと塞がっている。

これでOK。

ちなみにDockerのバージョンは以下のとおり。

$ docker -v
Docker version 19.03.6, build 369ce74a3c

シェアする

  • このエントリーをはてなブックマークに追加

フォローする