サムネがコーヒーの記事は書きかけです。

サーバー構築手順書

CentOSもしくはRHELのOSのサーバーをセットアップする手順

ファイアウォール

VPSコンソールでTCP/IPプロトコル用の22/80/443ポートを解放しておく。

ドメインの取得とDNSの更新

浸透に最大3600sかかるため先にこの作業を行う。

ドメイン取得→DNS AレコードをサーバーのグローバルIPに向ける。

この時、テスト用にサブドメインをいくつか取っておくと便利。

下記コマンドでDNSの浸透を確認する

sudo dnf install bind-utils
nslookup 0.0.0.0

VScode RemoteSSHによるコントロールのための用意

TARパッケージが入っていない場合、VSCODEからRemote SSHを行うことができない場合があるため、下記のコマンドで設定する

sudo def install tar

Dockerインストール

sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

dockerの起動

sudo systemctl start docker

権限の追加

sudo groupadd docker
sudo usermod -aG docker $USER

サーバーを再起動してSSHで入り直す

sudo reboot

再起動後に下記を実行

newgrp docker

gitのインストール

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."

コメントを残す

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