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
2. イメージをプルする#
docker pull nginx
3. イメージを確認する#
docker images
xxxxxxxxxx #コピー copy パス / ファイル名 パス / ファイル名 #移動 move パス / ファイル名 パス / ファイル名 PowerShell
4. nginx イメージを起動する#
ここでの --name nginx は必要に応じて使用します。これは nginx に名前を付けるためです。
docker run -d -p 8080:80 --name nginx-8080 nginx
5. ウェブポートにアクセスする#
公安ネットワークサーバーの IP に 8080 を追加してアクセスすると、以下の内容が表示されます。
このステップまでで、ブラウザが以下の内容を開かない場合は、サーバーが 8080 ポートを開いていないことを意味します。
私の場合は Alibaba Cloud を使用しており、セキュリティグループで 8080 ポートを開くだけです。
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
以下は鍵ですので、コピーしてください。#
GitHub を開きます。#
それからサーバーでコードをプルできます。#
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