ドッカーは、MySQL 8.0のデータおよびコンフィギュレーションファイルをマウントしてインストールします

インストールと展開の環境

  • UbuntuのLTS 18.04.3
  • ドッカー19.03.2
  • MySQLの最新の(8.0.17)

ダウンロード画像

# docker从仓库中拉取最新版的mysql镜像,如果没加标签的话,默认获取最新的版本
ドッカープルmysqlの

  

 

データボリュームと設定ファイルをマウント

コンテナが破損または削除された場合、原則としてドッカーコンテナでは、あらゆるデータや設定が失われます、短いです。我々はドッカーのホストで指定されたパスにデータファイルとMySQLの設定ファイルを転送する必要があるため。

MySQLは、ファイルのパスと一致しないことがあり、一人一人の中にデプロイメント。次のように我々はテストMySQLのコンテナを作成し、特定のファイルパスの場所に応じて、我々は我々のニーズに沿ったMySQLのコンテナを再作成見つけることができ、コマンドは次のとおりです。

ドッキングウィンドウの実行--name mysqltest \ 
-p 3307:3306 -e MYSQL_ROOT_PASSWORD =ルート\ 
-d mysqlの  

容器にドッカー

ドッキングウィンドウのexec -it mysqltestバッシュ

ドッカーMySQL関連のファイル・パス内の決定

よると、公式サイトの説明:あなたはMySQLの設定ファイルをマウントしたい場合、我々は、物理マシン上の設定ファイルに存在しなければなりません。

#ドッカー、のMySQLの設定ファイルmy.cnfファイルの場所内検索
のMySQL --help | grepをmy.cnfの
#、下に示す優先パスの順序は、パスは次の年になることを意味:
好み、my.cnfファイルの順序を、$ MYSQL_TCP_PORT 、
な/etc/my.cnf /etc/mysql/my.cnf〜/ .my.cnf 
パス#設定ファイルは必ずしも同じではありませんが、場所はいくつかのブログな/etc/my.cnfに記載されています。そして、私のUbuntuシステム、プレゼンスの実際の場所での/etc/mysql/my.cnf

データファイルの場所を検索

コンテナ上で動作するためのドッカーが点検有するJSON出力指令  Mountボリュームデータディレクトリの値に関する情報を提供するキーを、:

ドッキングウィンドウはmysqltest検査します 
... 
 "マウント":[ 
            { 
                "タイプ": "ボリューム"、
                "名": "4f2d463cfc4bdd4baebcb098c97d7da3337195ed2c6572bc0b89f7e845d27652"、
                "ソース": "は/ var / libに/ドッキングウィンドウ/ボリューム/ 4f2d463cfc4bdd4baebcb098c97d7da3337195ed2c6572bc0b89f7e845d27652 / _data"、
                "宛先":「/ VAR / libに/ mysqlの」、
                "ドライバー": "ローカル"、
                "モード": ""、
                "RW":trueの場合、
                "伝播": "" 
            } 
        ]、
... 

出力表示ソースフォルダ:の/ var / libに/ドッキングウィンドウ/ボリューム、 表現インストール  /var/lib/mysqlコンテナ内のサーバーのデータディレクトリ。

ローカルパスを作成し、データにドッカーをマウント

次に、我々は良いデータと設定ファイルへのパスを指定したマウントを作成するには、物理​​マシン上に必要です。

ます。mkdir -p /ホーム/ドッキングウィンドウ/ mysqlの/ confに&&ます。mkdir -p /ホーム/ドッキングウィンドウ/ mysqlの/ DATADIR

ローカル・データ・パスをマウント作成した後、その後、我々試験容器は、パスにMySQLの設定ファイルをコピーします。設定を変更するには、将来の必要性、変更は、設定ファイルのパスに直接取り付けることができます。

ドッキングウィンドウのcp mysqltest:/etc/mysql/my.cnf /ホーム/ドッキングウィンドウ/ mysqlの/ confに

コンテナを作成し、MySQLを開始

設定ファイルの問題を解決するため、我々はニーズに応じて、当社のMySQLのコンテナを作成し、データをマウントすることができます。

ドッキングウィンドウの実行--name mysql1 \ 
-p 3306:3306 -e MYSQL_ROOT_PASSWORD =ルート\ 
--mountタイプ=バインド、SRC = /ホーム/ドッキングウィンドウ/ mysqlの/ confに/ my.cnfを、DST =の/ etc / mysqlの/ my.cnfの\ 
--mountタイプ=バインド、SRC = /ホーム/ドッキングウィンドウ/ mysqlの/ DATADIR、DST =の/ var / libに/ mysqlの\ 
--restart =オンの失敗:3 \ 
-d mysqlの
  • --name:コンテナの名前を指定します
  • -p:指定ポートマッピングフォーマット:ホスト(ホスト)ポート:容器のポート
  • -e:環境変数を設定したユーザ名=「XXX」、
  • --restart =オン故障:3サイクルは、ケースを再起動異常終了(非0の終了コード)を3回現れる将来のコンテナを指します。
  • -mount:バインドマウント
  • -d:背景コンテナとコンテナIDを返します

多くの人々が使用して、オンラインのブログは、MySQLのデータボリューム方式をマウント書き--volumeますが、ビルドMySQLのマニュアルを、我々はあなたが最新のMySQLの公式ドッカーを使用することをお勧め--mount研究は、それが使用する方が簡単であることが示されているので、。したがって、我々はによると、推奨の公式ウェブサイトのアプローチ、また、ここで使用する--mountマウントします。

コンテナ動作の観点から

ドッキングウィンドウのPS 

あなたは見ることができmysql1、我々が作成する前に、コンテナは、試験容器を含め、実行されています。

おすすめ

転載: www.cnblogs.com/jbxie/p/12075423.html