コンテナ クラウドの概念は今とても人気があります。多くの企業がコンテナ上に MySQL を導入しています。今日のコンテンツを始める前に、コンテナ クラウドの概念について見てみましょう。 1 コンテナクラウドとは何ですか?コンテナクラウドの概念を理解するには、まずコンテナを理解する必要があります。コンテナを導入する際には、比較のために仮想マシンを導入する必要があります。 仮想マシン: VMware または Virtual BoX と呼ばれる仮想マシンは、誰もが日常業務で使用したことがあるはずです。これは、コンピューターのオペレーティング システムをシミュレートするソフトウェアです。Windows コンピューターに Virtual BoX ソフトウェアをインストールし、Centos や Ubuntu などの Linux オペレーティング システムを Virtual Box にインストールすると、1 台のマシンで複数の種類のオペレーティング システムを実行できるため、開発およびテスト作業が非常に便利になります。 仮想マシンの欠点は、大量のリソースを消費することです。各仮想マシンはメモリとディスク領域を個別に割り当て、CPU リソースと基盤となるハードウェア リソースも大量に消費します。Hello World プログラムを実行するだけでは、大量のリソースが無駄になります。 容器: この問題を解決するために登場したのがコンテナです。コンテナは、アプリケーションコードのソースコード、依存ライブラリ、オペレーティングシステムなど、アプリケーションに必要なすべてのリソースをまとめてパッケージ化し、環境に制約されることなく、どこでもアプリケーションを簡単に実行できるようにする、より軽量で柔軟な仮想化処理技術です。 仮想マシンと比較すると、コンテナは軽量で、移植性が高く、コストが低く、効率的です。 コンテナ クラウドは、クラウド上のコンテナ テクノロジ サービスとして理解できます。 2 Dockerの紹介Docker はオープンソースのアプリケーション コンテナ エンジンです。ツールとして理解できます。Go 言語に基づいて開発され、Apache 2.0 プロトコルと互換性があります。アプリケーションとその依存関係 (構成ファイルなど) をコンテナにパッケージ化できます。 さらに、さまざまな環境と互換性があり、ラップトップ、社内サーバー、パブリッククラウド、プライベートクラウドに展開できます。優れた移植性と柔軟な展開を備えており、さまざまな環境での互換性の問題を解決します。 Docker には 3 つの基本概念が含まれています。 画像 上の図に示すように、これら 3 つの部分が Docker のライフサイクル全体を構成します。 Docker イメージには、仮想マシン イメージに似たファイル システムが含まれており、読み取り専用のテンプレートです。 Docker コンテナはイメージからインスタンス化されますが、これは私たちが学んだオブジェクト指向の概念と非常によく似ています。クラスがインスタンス化された後、イメージをクラス、コンテナをオブジェクトとして想像することができます。これにより、イメージとコンテナの関係を非常に簡単に理解できます。 Dockerリポジトリ: コードリポジトリと同様に、Dockerがイメージファイルを集中的に保存する場所です。 この関係は次のようにより明確に表現できます。 Docker のインストールを見てみましょう。 1. 必要なパッケージをインストールします。yum-utilsはyum-config-managerを提供し、デバイスマッパーストレージドライバーにはdevice-mapper-persistent-dataとlvm2が必要です。 yum をインストール -y yum-utils yum インストール -y デバイスマッパー永続データ yum インストール -y lvm2 2. 安定したDockerリポジトリを設定する yum-config-manager \ --リポジトリを追加\ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 3. Docker Engine-Communityをインストールする yum インストール docker-ce docker-ce-cli cotainerd.io この時点では、Docker はインストールされていますが、デフォルトでは起動されていません。 docker ユーザー グループは作成されましたが、このユーザー グループにはユーザーがいません。 3 dockerを使ってMySQLをインストールするDocker を使用して MySQL サービスをインストールするのは非常に簡単です。全体的な手順は次のとおりです。 1. MySQLイメージをダウンロードする 公式の docker リポジトリにログインすると、次の URL で mysql イメージを見つけることができます: https://hub.docker.com/_/mysql?tab=tags dockerコマンドを使用してMySQLイメージを直接ダウンロードすることもできます。 yum プル mysql:5.7.16 上記のコマンドは、MySQL5.7.16 のイメージをダウンロードすることを示しています。最後のバージョン番号を書き込まない場合は、デフォルトで最新のMySQLバージョンのイメージが取得されます。 2. MySQLを起動します。 プルが完了したら、次のコマンドで MySQL インスタンスを起動できます。 docker run -itd --name mysql_5716 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=yeyazhou mysql_5716 で: -i: コンテナを対話モードで実行する -t: コンテナの疑似入力端子を再割り当てする -d: コンテナをバックグラウンドで実行する -p 3306:3306: コンテナ サービスのポート 3306 をホストのポート 3306 にマップします。外部ホストは、ホストの ip:3306 を介して MySQL サービスに直接アクセスできます。 MYSQL_ROOT_PASSWORD=yeyazhou: MySQL サービスのルート ユーザーのパスワードを設定します。 3. コンテナの実行状態を確認する コンテナID: コンテナID その他の情報には、コンテナのソース イメージ、作成時間、ステータス、ポート マッピング情報、コンテナ名などが含まれます。 4. 表示するコンテナを入力します まず、コマンドを使用してコンテナの対話型コマンド ラインに入ります。 docker exec -it mysql_5716 /bin/bash 結果は以下のとおりです ルート@8c388ccfb761:/# ls -l 合計 72 drwxr-xr-x 1 ルート ルート 4096 2016年11月8日 bin drwxr-xr-x 2 ルート ルート 4096 2016年9月12日 ブート drwxr-xr-x 5 ルート ルート 360 8月11日 11:41 dev drwxr-xr-x 2 ルート ルート 4096 2016 年 11 月 8 日 docker-entrypoint-initdb.d lrwxrwxrwx 1 root root 34 2016年11月23日 entrypoint.sh -> usr/local/bin/docker-entrypoint.sh drwxr-xr-x 1 ルート ルート 4096 8月11日 11:41 など drwxr-xr-x 2 ルート ルート 4096 2016年9月12日 ホーム drwxr-xr-x 1 ルート ルート 4096 2016年11月8日 lib drwxr-xr-x 2 ルート ルート 4096 2016年11月4日 lib64 drwxr-xr-x 2 ルート ルート 4096 2016年11月4日 メディア drwxr-xr-x 2 ルート ルート 4096 2016年11月4日 mnt drwxr-xr-x 2 ルート ルート 4096 2016年11月4日 opt dr-xr-xr-x 104 ルート ルート 0 8月11日 11:41 proc drwx------ 1 ルート ルート 4096 8月11日 11:49 ルート drwxr-xr-x 1 ルート ルート 4096 2016年11月8日 実行 drwxr-xr-x 2 ルート ルート 4096 2016年11月4日 sbin drwxr-xr-x 2 ルート ルート 4096 2016年11月4日 srv dr-xr-xr-x 13 ルート ルート 0 7月19日 02:47 sys drwxrwxrwt 1 ルート ルート 4096 8月11日 11:41 tmp drwxr-xr-x 1 ルート ルート 4096 2016年11月23日 usr drwxr-xr-x 1 ルート ルート 4096 2016年11月8日 var コンテナの対話型コマンドラインが入力されていることがわかります。前の root@8c388ccfb761 の @ 記号の後の文字列がコンテナ ID です。 5. 接続文字列を使用してMySQLに接続する ルート@8c388ccfb761:/usr/local# mysql -uroot -pyeyazhou -h127.0.0.1 mysql: [警告] コマンドライン インターフェイスでパスワードを使用すると安全でない可能性があります。 MySQL モニターへようこそ。コマンドは ; または \g で終わります。 MySQL接続IDは16です サーバーバージョン: 5.7.16 MySQL コミュニティサーバー (GPL) Copyright (c) 2000, 2016, Oracle およびその関連会社。無断複写・転載を禁じます。 OracleはOracle Corporationおよびその関連会社の登録商標です。 その他の名称は各社の商標である場合があります。 所有者。 ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。 mysql> データベースを表示します。 +--------------------+ | データベース | +--------------------+ | 情報スキーマ | |mysql | | パフォーマンススキーマ | |システム| +--------------------+ セット内の 4 行 (0.00 秒) 6. 別のMySQLコンテナを起動する [root@VM-0-14-centos ~]# docker run -itd -p 3307:3306 --name mysql_5716_2 -e MYSQL_ROOT_PASSWORD=yeyazhou mysql:5.7.16 e5e0f9a14462261d01307c4d0891587acce90e4ffd33e434878f311bf98d4f22 [root@VM-0-14-centos ~]# docker ps コンテナID イメージ コマンド 作成ステータス ポート名 e5e0f9a14462 mysql:5.7.16 "docker-entrypoint.s..." 8 秒前 6 秒前にアップ 0.0.0.0:3307->3306/tcp mysql_5716_2 8c388ccfb761 mysql:5.7.16 "docker-entrypoint.s..." 25 時間前 25 時間前 0.0.0.0:3306->3306/tcp mysql_5716 上記は、docker に MySQL をデプロイする例の詳細です。docker に MySQL をデプロイする詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: backgroundImage を使用して画像カルーセルの切り替えを解決する詳細な説明
背景当初は VMware の公式 Web サイトから 6.7 Vcenter をダウンロードしたかっ...
バックグラウンド コントローラー @RequestMapping("/getPDFStre...
まず、action はフォームの属性です。HTML5 では必須の属性値として定義されています。onS...
ゼロ: 古いバージョンをアンインストールするDocker の古いバージョンは、docker、dock...
文法規則 列名を選択 テーブル名1から INNER JOIN テーブル名2 ON テーブル名1.列名...
docker における実行と開始の違いDocker run はミラーイメージを指定します。そしてdo...
Centos7 スイッチブートカーネル注: 必要に応じて、最初にyum update -yを実行して...
Nginx はネストされた if ステートメントをサポートしておらず、if ステートメントでの論理判...
Vue では、ほとんどの場合、テンプレートを使用して HTML を作成することを推奨しています。ただ...
Dockerはプライベートレジストリ内のイメージを照会または取得するために、 docker 検索 1...
解凍したフォルダ C:\web\mysql-8.0.11 を開き、フォルダ内に my.ini 構成フ...
オーバーフロー非表示指定された高さを超えるテキストや画像情報を非表示にすることを意味します。 <...
<a href="https://www.jb51.net/" title...
本日は、Web 開発で使われる基本的な概念と技術を初心者向けに紹介します。A から Z まで合計 2...
この記事では、MySQL 8.0.17のインストールと設定方法を参考までに紹介します。具体的な内容は...