CentOSもしくはRHELのOSのサーバーをセットアップする手順
目次
ファイアウォール
VPSコンソールでTCP/IPプロトコル用の22/80/443ポートを解放しておく。
ドメインの取得とDNSの更新
浸透に最大3600sかかるため先にこの作業を行う。
ドメイン取得→DNS AレコードをサーバーのグローバルIPに向ける。
この時、テスト用にサブドメインをいくつか取っておくと便利。
下記コマンドでDNSの浸透を確認する
sudo dnf install bind-utilsnslookup 0.0.0.0VScode RemoteSSHによるコントロールのための用意
TARパッケージが入っていない場合、VSCODEからRemote SSHを行うことができない場合があるため、下記のコマンドで設定する
sudo def install tarDockerインストール
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-enginesudo yum install -y yum-utilssudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.reposudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugindockerの起動
sudo systemctl start docker権限の追加
sudo groupadd dockersudo usermod -aG docker $USERサーバーを再起動してSSHで入り直す
sudo reboot再起動後に下記を実行
newgrp dockergitのインストール
sudo dnf install git-allデプロイ
nginx.conf,Dockerfile(フロントエンド), compose yamlを用意する。この時、リバースプロキシコンテナとしてtraefikを使用してACMEでTLS証明書を取得するように設定する。コンテナのポート80/443をホストの80/443にバインドしてtraefikにパスに応じて自動的にアクセスを分配するように指令する。
Docker周りのリセット
traefikに不具合が生じたりした場合には下記のコマンドを実行して、ビルドしたイメージ、コンテナ全てを削除する。
echo "Stopping all containers..."
docker stop $(docker ps -aq)
echo "Removing all containers..."
docker rm $(docker ps -aq)
echo "Removing all images..."
docker rmi $(docker images -q)
echo "Removing all networks..."
docker network rm $(docker network ls -q)
echo "Removing all volumes..."
docker volume rm $(docker volume ls -q)
echo "Performing system prune..."
docker system prune -a --volumes -f
echo "Docker reset complete."

