目的
vps上にdockerの環境を作りたいと思います。
前提
さくらのVPSを使っています。
OSはカスタムインストールで CentOS 7
にしています。
ほぼ自分用メモなので不親切なのはご了承下さい。
はじめにセキュリティ確保
ここでは詳しくやりませんが、セキュリティの確保のため、
最低限として、rootで作業しないように一般ユーザを作成します。
- リモートの作業(root)
- 一般ユーザの作成
useradd mimura
passwd mimura
- 一般ユーザが
sudo
できるようにする-
visudo
で設定
-
- root のsshログインを止める
-
vi /etc/ssh/sshd_config
-
PermitRootLogin no
を設定
-
systemctl restart sshd
-
- 一般ユーザの作成
- ローカルの作業
- ローカル環境で鍵認証に使うキーを生成する
- macの場合は
ssh-keygen
- macの場合は
- 生成したキー(公開鍵のほう)をvpsへアップロード
scp .ssh/genereted_key myvps.vs.sakura.ne.jp:/home/mimura/.ssh/authorized_keys
- chmod も忘れずに
- $ chmod 700 ~/.ssh
- $ chmod 600 ~/.ssh/authorized_keys
- ローカルに
.ssh/config
を作っておけば便利
- ローカル環境で鍵認証に使うキーを生成する
- リモートの作業(一般ユーザでしかログインできない)
- sshの鍵認証を設定する
-
sudo vi /etc/ssh/sshd_config
で下記のように編集RSAAuthentication yes
PubkeyAuthentication yes
-
AuthorizedKeysFile .ssh/authorized_keys
- ↑アップロードしたファイルパスにする
-
- sshdを再起動
sudo systemctl restart sshd
- ローカルから鍵認証でログインできるのを確認
- sshのパスワード認証を止める
-
sudo vi /etc/ssh/sshd_config
PasswordAuthentication no
-
- sshdを再起動
sudo systemctl restart sshd
- sshの鍵認証を設定する
ここでsshd_configの設定に失敗すると、ssh接続できなくなってしまいどうしようもなくなってしまいますが、さくらのVPSではWebブラウザのコントロールパネルからコンソール機能が利用できるので、いざというときもリカバリー可能です。
セキュリティ確保には他にもいろいろやった方がよいことがありますが、
ここでは一般ユーザで作業するまでにして先に進みます。
dockerのインストール
- まずupdate
sudo yum update
- dockerのインストール
sudo yum install docker-io
- インストールされたのを確認
sudo systemctl start docker
-
sudo docker info
- 状態が表示されればOK
一般ユーザでdockerが使えるようにする
- dockerグループを追加します。
sudo groupadd docker
- 一般ユーザをdockerグループへ追加
sudo gpasswd -a mimura docker
- dockerデーモンの再起動
sudo systemctl restart docker
- 一般ユーザの再ログイン
-
Ctrl+D
からのssh
-
- 一般ユーザで動くことを確認
docker info
ここまでで環境ができました。
Moby Dockを表示してみる
-
docker run docker/whalesay cowsay 'Congrats!!!'
または -
docker run -t -i docker/whalesay bash
# cowsay 'Congrats!!!'
環境構築としては以上になります。