げっとシステムログ

WEB開発メモ

さくらの VPS に CentOS 7 をインストールして docker の開発環境にする

ということで、さくらのサーバーを借りて docker したいわけである

インターネット環境がモバイルな関係で速度が出ず、 docker for mac とかだとイメージ pull してくるとか apt-get とか悲しくなったのです

CentOS 7 のインストール

多分さくらのデフォルトだと CentOS 6 だよね?
確認してないけど

カスタムインストールで CentOS 7 を選択してインストールした

なんか GUI で進んだけど、一箇所つまづいたので記録しておく

スクリーンショットはないのだが、ディスクの選択の時に、既存のパーティションを削除しなければならない
選択しただけだと、「インストールに必要な容量がないよ」って言われる
「Delete All」ボタンがあったのでそれ押して設定したら通った

ssh のポート設定

lovepeers.org

ここを参考にポートの設定を行った

CentOS 7 は Minimal でインストールしたのだが、 selinux と firewalld はすでに有効な状態だった

とりあえず /etc/ssh/sshd_config で port を 8222 に変更して AllowUsers でログインできるユーザー名を指定した
(これはどうなんだろ?いつもとりあえずユーザー名かグループ名で制限しているけど、どういう運用が良いのかな?)

以下、設定のコマンドライン

# ポートの変更
sudo vi /etc/ssh/sshd_config

# selinux
sudo yum install policycoreutils-python
sudo semanage port -a -t ssh_port_t -p tcp 8222

# sshd リスタート
sudo systemctl restart sshd
ss -tln # ポートの確認

# firewalld の設定
sudo vi /etc/firewalld/services/ssh-alt.xml

# firewall 有効化
sudo firewall-cmd --reload
sudo firewall-cmd --add-service=ssh-alt
sudo firewall-cmd --permanent --add-service=ssh-alt
sudo firewall-cmd --list-all # 確認

# ポート 22 無効化
sudo firewall-cmd --remove-service=ssh
sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --reload
sudo firewall-cmd --list-all # 確認

# リブート!!
sudo reboot

あとは外から ssh できるか確認する

/etc/firewalld/services/ssh-alt.xml の内容

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>SSH</short>
  <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
  <port protocol="tcp" port="8222"/>
</service>

ホスト名の変更

さくらのホスト名は読みづらいのでわかりやすい奴に変更

sudo hostnamectl set-hostname "ホスト名"

docker インストール

sudo yum install docker
sudo systemctl enable docker
sudo systemctl start docker

sudo docker ps # 確認

とりあえずこれで docker いけたけど、どういう開発環境整えるかな