コンテナ クラウドの概念は今とても人気があります。多くの企業がコンテナ上に 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 を使用して画像カルーセルの切り替えを解決する詳細な説明
最近、MySQL を学び始めました。インストールはスムーズに進み、インターネット上の既成のチュートリ...
目次前提条件RNはiOSに価値を渡す方法1: ネイティブに値を通常通り渡す方法2: コールバック関数...
1つ。序文<br />この種の質問は、どの専門掲示板でも見かけます。Google で検索...
CSS では、要素タグは、要素の表示モードの違いに応じて、インラインレベル要素とブロックレベル要素の...
目次目的npm init および package.json ファイルモジュールのインストールと管理モ...
Dockerfile は Docker イメージを構築するために使用されるファイルです。コマンドパラ...
HTML ページ ソース コード レイアウトの概要この紹介では、Google のホームページのソー...
序文世界最高の Web サーバーの 1 つである Nginx の利点は明らかです。 Nginx がリ...
今日、Baiduのページで練習していたところ、検索ボックスとボタンの余白とパディングの値が0に設定さ...
序文JavaScript では、これは関数呼び出しコンテキストです。この動作が非常に複雑であるからこ...
動作環境: MAC Docker バージョン: Docker version 17.12.0-ce,...
Ubuntuでsshを開くのに1時間以上かかりました。主な原因は、最初に読んだチュートリアルの手順...
構造化テーブル (IExplore のみ) 1) 行ごとにグループ化<thead> .....
1. Nginxのインストール手順1.1 公式サイトの紹介http://nginx.org/en/d...
この記事では、MySQL 8.0.16 winx64のインストールと設定の具体的な方法を記載します。...