インストールと展開の環境
- 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
、我々が作成する前に、コンテナは、試験容器を含め、実行されています。