Docker+daocloudはフロントエンドプロジェクトの自動構築とデプロイを実現します

Docker+daocloudはフロントエンドプロジェクトの自動構築とデプロイを実現します

自動プロジェクト展開は大企業やユニコーン企業でよく使用され、手動でプロジェクトを展開するよりも効率的です。そこでこの記事では、これまで学んだ docker の知識ポイントと nginx を組み合わせて、VueJs プロジェクトの自動デプロイを簡単に実装します。もちろん、他のプロジェクトでも同様です。

動作環境

まず、サーバーにdocker、nginx、nodeなどをインストールする必要があります。後続の操作に便利です。

dockerでnginxイメージをプルします。コマンドdocker pull nginx

vue-cli でプロジェクトを初期化する

vue init webpack プロジェクト名を使用してプロジェクトを初期化できます。ここでは、プロジェクト名が docker-vue であると仮定し、プロジェクトのルート ディレクトリに新しい Dockerfile ファイルを作成します。一般的な内容は次のとおりです。

nginx:latestから
#現在のパッケージプロジェクトのHTMLを仮想アドレスCOPY dist/ /usr/share/nginx/html/にコピーします
#カスタム nginx.conf を使用してポートとリスナーを設定します RUN rm /etc/nginx/conf.d/default.conf
default.conf を /etc/nginx/conf.d/ に追加します。

/bin/bash -c 'echo init ok!!!' を実行します。

そして、次の内容の default.conf ファイルを作成します。

サーバー{
# プロジェクトで定義されているポート番号は listen 8080 です。
server_name ローカルホスト;

#文字セット koi8-r;
#access_log /var/log/nginx/log/host.access.log メイン;

位置 / {
  ルート /usr/share/nginx/html;
  インデックス index.html index.htm;
}

#エラーページ 404 /404.html;

# サーバーのエラーページを静的ページ /50x.html にリダイレクトします
#
エラーページ 500 502 503 504 /50x.html;
場所 = /50x.html {
  ルートhtml;
}
}


それ以来、基本的な作業は完了しました。次のステップはdaocloud.ioの基本的な構成操作です。

daocloud.io 基本設定操作

アカウントをお持ちでない場合は、まずdaocloud.ioで登録してください。

操作は以下のとおりに分かれます。

  • プロジェクトを作成する
  • クラスター管理
  • ミラーリポジトリを作成する

プロジェクトを作成する


ここで、プロジェクト名を追加し、コード ソース (github、gitlab など) を設定して、ビルドする必要があるプロジェクトを選択する必要があります。ここでは、独自の github リポジトリ docker-vue を選択し、[作成の開始] をクリックします。

クラスター管理

クラスター管理の主な目的は、リモート サーバーに接続し、コマンドを通じて daocloud.io イメージを作成することです。


新しいホストを選択

私は Alibaba Cloud サーバーを自分で購入し、システムは Ubuntu なので、次の構成を選択してサーバー上で実行しました。

curl -sSL https://get.daocloud.io/daomonit/install.sh | sh -s e2fa03ebead51076411388c26dff2257dae89768

次のような Docker イメージをビルドします。


次の図に示すように、ホストが正常に作成されました。

ミラーリポジトリを作成する

[Image Warehouse]に入り、手動で作成したイメージを選択し、最新バージョンを無料ホストまたはクラウドテスト環境にデプロイします。



次に、次のアプリケーション設定を行います。

デプロイが完了すると、サーバー IP + 先ほど設定したコンテナ ポート番号を介してアクセスできるようになります。


このようにして、ほとんどの操作が完了しました。Docker コンテナを見ると、イメージ リポジトリが正常に作成された後、コンテナが自動的に作成されたことがわかります。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • docker+jenkins+node.js の自動デプロイメント環境をゼロから構築する方法
  • .Net Core 自動デプロイ: Jenkins の docker バージョンを使用して dotnetcore アプリケーションをデプロイする方法
  • Centos7+Docker+Jenkins+ASP.NET Core 2.0 の自動リリースとデプロイメントの実装
  • Docker で Apache Tomcat を自動的にデプロイする方法
  • docker -v と Publish over SSH プラグインを使用して、war パッケージを docker に自動的にデプロイする手順
  • tomcatのDocker自動デプロイの詳しい説明
  • Docker での Ruby on Rails のデプロイを自動化するチュートリアル

<<:  MySQL インジェクションにおける outfile、dumpfile、load_file 関数の詳細な説明

>>:  Vueはプルダウンを実装してさらに読み込む

推薦する

Linux の検索ツールの代替となるフレンドリーなツール

find コマンドは、指定されたディレクトリ内のファイルを検索するために使用されます。引数の前の文字...

Linux での crontab スケジュール実行コマンドの詳細な説明

LINUX では、定期的なタスクは通常、cron デーモン プロセス [ps -ef | grep ...

VMwareでCentOSがインターネットにアクセスできない問題を素早く解決

昨日、VMware に CentOS7 をインストールしました。Tomcat パッケージを転送するた...

Linux で文字列を整理するためのヒント

Linuxの操作では、ファイル内の文字列を置換したりカウントしたりすることが多いです。ここでまとめを...

mysql 基本操作文コマンドの詳細な説明

1. MySQLに接続するフォーマット: mysql -h ホストアドレス -u ユーザー名 -p ...

イメージを再構築せずにDockerにポートを動的に追加する方法

操作中に Docker コンテナの公開ポートを変更または追加する必要がある場合がありますが、実行中の...

RoughViz を使用して Vue.js でスケッチされたチャートを視覚化する方法

導入チャートは、データ セットを読みやすくし、その各部分を区別しやすくするために使用されるデータのグ...

Linux 型バージョン メモリ ディスク クエリ コマンド紹介

1. まず、Linux システムのバージョン内容について概要を説明します。 1. カーネルバージョン...

Vue で Google サードパーティ ログインを実装するためのサンプル コード

目次1. 開発者プラットフォームの構成問題を解決する1. 開発者プラットフォームの構成1. 開発者プ...

フロントエンド開発に必須:推奨されるブラウザ互換性テストツール 12 選

フロントエンド開発者にとって、さまざまな主要ブラウザのさまざまなバージョンでコードが適切に動作するこ...

証明書を使用してリモート Docker サーバーに接続する方法

目次1. スクリプトを使用してDockerのTLSを暗号化する2. Dockerの設定を変更してリモ...

Linux に mysql をインストールするときに /etc に my.cnf ファイルがない問題を解決する

今日、mysql ポートを変更したいと思ったのですが、/etc/ ディレクトリに my.cnf ファ...

MySQLリモートアクセスの設定方法をステップバイステップで説明します

序文MySQL データベースを使用する場合、クライアントはデータベース サーバーにリクエストを送信す...

Linux の操作とメンテナンスの基本的なスワップ パーティションと LVM 管理のチュートリアル

目次1. スワップパーティション SWAP 1.1 スワップファイルを作成する1.2 スワップパーテ...

nginx の default_server 定義とマッチングルールの詳細な説明

nginx の default_server ディレクティブは、server_name と一致しない...