banner
{小朋友}

xiaopy

dockerでNginxイメージをインストールし、プロジェクトをデプロイします。

Docker Engine-Community のインストール#

1. Docker リポジトリを使用してインストールする#

Docker Engine-Community を新しいホストに初めてインストールする前に、Docker リポジトリを設定する必要があります。その後、リポジトリから Docker をインストールおよび更新することができます。

  • リポジトリの設定

必要なパッケージをインストールします。yum-utils は yum-config-manager を提供し、デバイスマッパーストレージドライバには device-mapper-persistent-data と lvm2 が必要です。

sudo yum install -y yum-utils  device-mapper-persistent-data  lvm2
  • 次のコマンドを使用して安定したリポジトリを設定します。
 sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

2. Docker Engine-Community のインストール#

最新バージョンの Docker Engine-Community と containerd をインストールするか、特定のバージョンをインストールするために次の手順に進んでください。キーの受け入れを求められた場合は、はいを選択してください。

sudo yum install docker-ce docker-ce-cli containerd.io

3. Docker を起動する#

sudo systemctl start docker

4. Docker Engine-Community が正しくインストールされているかを確認するために、hello-world イメージを実行します。#

sudo docker run hello-worldv

nginx のインストール#

1. 公式リポジトリのイメージを確認する#

docker search nginx

01

2. イメージをプルする#

docker pull nginx

image

3. イメージを確認する#

docker images

xxxxxxxxxx #コピー copy パス / ファイル名 パス / ファイル名 #移動 move パス / ファイル名 パス / ファイル名 PowerShell

4. nginx イメージを起動する#

ここでの --name nginx は必要に応じて使用します。これは nginx に名前を付けるためです。

docker run -d -p 8080:80 --name nginx-8080 nginx

image-20220927225235759

5. ウェブポートにアクセスする#

公安ネットワークサーバーの IP に 8080 を追加してアクセスすると、以下の内容が表示されます。

このステップまでで、ブラウザが以下の内容を開かない場合は、サーバーが 8080 ポートを開いていないことを意味します。

私の場合は Alibaba Cloud を使用しており、セキュリティグループで 8080 ポートを開くだけです。

image-20220927225250876

6. nginx の停止 / 起動#

#停止
docker stop nginx-8080    # nginxに名前を付けた方法で停止します
docker stop id            # nginxに名前を付けていない場合は、docker psコマンドで起動しているイメージを確認し、nginxのIDを使用してnginxを停止します

#起動
docker restart nginx-8080 # 同様に、名前を付けていない場合は、nginxのIDを使用してnginxを起動します

git のインストールとコードのプル#

インストール#

yum install -y git

#バージョン番号が表示されるかどうかを確認します。表示されればインストール成功です。
git version

git の設定#

#コードをコミットするためのユーザーを設定します。次のコマンドを入力します。
git config --global user.name "Your Name"

#ユーザーのメールアドレスを設定します。次のコマンドを入力します。
git config --global user.email "[email protected]"

#公開鍵と秘密鍵を生成します。コマンドを入力した後、Enterキーを押して進めます。
ssh-keygen -t rsa -C "[email protected]"

#公開鍵と秘密鍵を表示します。
cat /root/.ssh/id_rsa.pub

image-20220927225305381

以下は鍵ですので、コピーしてください。#

image-20220927225315877

GitHub を開きます。#

image-20220927225327507

image-20220927225343849

image-20220927225358487

それからサーバーでコードをプルできます。#

git clone プロジェクトのアドレス

CentOS に nvm をインストールする#

  • curlまたは wget を使用してインストールできます。次のコマンドを使用します。
#curl

curl -o- [https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh](https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh) | bash

#wget

wget -qO- [https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh](https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh) | bash

インストールが完了したら、リモートホストに xshell で接続している場合は、一度再接続してください。そうしないと、nvm コマンドが見つからないというエラーメッセージが表示されます。

まだ nvm コマンドが見つからない場合は、source コマンドを使用してください。次のように入力します。

source ~/.bashrc

#zshの場合

source ~/.zshrc

ここで nvm を実行して、インストールが成功したかどうかを確認してください。

yarn のインストール

npm install yarn -g

プロジェクトのパッケージングとデプロイ#

通常、git でプロジェクトをプルして、次のコマンドを実行します。#

git clone ...  # リモートリポジトリのプロジェクトをプルする

yarn           # プロジェクトのパッケージをインストールする

yarn build     # プロジェクトをビルドし、distフォルダが生成されます

まず、Docker コンテナを停止します。#

docker ps    # 実行中のnginxを確認し、順番に停止します


#プロジェクトのルートディレクトリでコマンドを実行する必要があります。$PWDは現在のパスを表します。
docker run -d -p 8080:80 -v $PWD/dist:/usr/share/nginx/html nginx


docker ps    # nginxが起動しているか確認します

これでプロジェクトの IP にアクセスすると、正常にアクセスできるはずです。

デプロイコマンドを簡略化するスクリプト#

プロジェクトのコードを書くたびに、コンテナを停止し、コードをプルし、起動コマンドを実行するのは面倒です。プロジェクトのルートディレクトリにstart.shという名前のファイルを作成します。


# start.sh     実行コマンド sh start.sh

git pull

yarn --registry=https://registry.npm.taobao.org/ && yarn build

#コンテナを削除
docker rm -f xiaopy &> /dev/null

#コンテナを起動
docker run -d --restart=on-failure:5\
    -p 8080:80 \
    -v $PWD/dist:/usr/share/nginx/html \
    --name xiaopy nginx
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。