初心者がdockerにmysqlをインストールするときに遭遇するさまざまな問題

初心者がdockerにmysqlをインストールするときに遭遇するさまざまな問題

序文

最近、パソコンのシャットダウンに時間がかかることが多く、強制的にシャットダウンするには電源ボタンを長押しする必要があります。何が起こっているのか分かりません。

その後、シャットダウンログを確認したところ、MySQLを停止できなかったことがわかりました。本当に迷惑だ!何をするか?ネットで検索しましたが、良い解決策は見つかりませんでした。いつも電源ボタンを長押しして携帯電話をシャットダウンできるわけではありませんよね?パソコンは高いし、自分のパソコンなので故障したらどうすればいいでしょうか?

mysqlを削除しますか?コード作成者は毎日使用するため、MySQL をコンピューターにインストールする必要があります。仮想マシンにインストールされていますか?これは実現可能と思われます。MySQL をオフにできるかどうかは気にしません。仮想マシンを停止するだけです。そこで、1年以上開いていなかった自分のパソコンにインストールされたVirtualBoxを見て、ここにインストールするのは適切ではないと考えました。私のコンピュータのハードドライブは 250G しかありません。MySQL をインストールするには、10G 以上のハードドライブを割り当て、さらに 2G のメモリを割り当てる必要があります。これは適切ではありません。では私たちは何をすべきでしょうか?マウスをクリックして、1年前に調べたdockerを思い出しました。うーん、あなたですね。

Dockerにmysqlのインストールを開始する

Dockerをインストールする

docker コマンドが思い出せません。インストール コマンドをインターネットで検索しました。それでも非常に簡単ですか?コマンドをクリックするだけで動作します。 (私のコンピュータにはDeepinシステムがインストールされています)

wget -qO- https://get.docker.com/ | sh

次に、それを起動する必要がありますが、これもコマンドです。

 sudo サービス docker 開始

Docker Ubuntu を実行する

Docker がインストールされていますが、その中でシステムを実行するにはどうすればよいでしょうか? docker だけでは mysql を実行できません。この時点で、システム イメージをダウンロードする必要があります。ここでは、Ubuntu イメージを使用します。まず、利用可能な画像を検索する必要があります。次のコマンドを使用して、マーケット内の画像を検索できます。

//コマンド sudo docker search ubuntu
//結果 名前 説明 星 公式 自動化
ubuntu Ubuntu は Debian ベースの Linux オペレーティングシステムです… 9583 [OK]  
dorowu/ubuntu-desktop-lxde-vnc HTML5 VNC インターフェイスを提供する Docker イメージ … 304 [OK]
rastasheep/ubuntu-sshd オフ… 217 [OK] 上に構築された Docker 化された SSH サービス
consol/ubuntu-xfce-vnc 「ヘッドレス」VNC セッションを備えた Ubuntu コンテナ… 179 [OK]
ubuntu-upstart Upstart は、イベントベースの代替品です… 98 [OK]  
ansible/ubuntu14.04-ansible Ubuntu 14.04 LTS と ansible 97 [OK]

ここにはたくさんの画像が見つかりますが、一番上にランクされたものを選択しましょう。

ここで、次のコマンドを使用してこのイメージをダウンロードする必要があります。

sudo docker pull ubuntu:18.04
//コロンの後がバージョン番号です。分からない場合はオンラインで確認するしかありません。書かない場合は最新バージョンをダウンロードすることになります。

しかし。インターネット上では、何らかの不可抗力により、中国のミラーのダウンロードが非常に遅いため、ミラーを追加する必要があると言われています。 /etc/docker: daemon.json のパスの下に、イメージ アドレスを含むファイルを追加する必要があります。

{
 "レジストリミラー": ["http://hub-mirror.c.163.com"]
}

その後再起動します。そして上記の画像をダウンロードするコマンドを実行し、コーヒーを飲んでしばらく待ちます~~~~。

ダウンロード後、次のコマンドを使用してコンピューター上の画像を確認してみましょう。

sudo docker イメージ 
//結果 リポジトリ タグ イメージ ID 作成 サイズ
ubuntu 18.04 7698f282e524 2週間前 69.9MB

ここでは、Ubuntu バージョン 18.04 のイメージがすでに存在していることがわかります。ここで、このイメージを開始する必要があります。

//コマンド sudo docker run -it -d ubuntu:18.04 /bin/bash
//説明 run: 新しいコンテナを作成し、コマンドを実行します -it: コンテナを対話モードで実行し、-i -t を表す疑似入力ターミナルを再割り当てします
--name ubuntu18: コンテナの名前を指定します -d: コンテナをバックグラウンドで実行します ubuntu:18.04: イメージ名 /bin/bash: イメージ内のプログラムを実行します。そうでない場合は、イメージは直接停止されます

イメージは正常に起動しましたが、まだログインする必要があります。この時点で、どのコンテナが実行されているかを確認する必要があります。以下を実行します。

//コマンド sudo docker ps -a
//説明 ps: コンテナを一覧表示 -a: 実行されていないコンテナも含め、すべてのコンテナを表示 //結果 コンテナ ID イメージ コマンド 作成日時 ステータス ポート 名前
1ce6fa95862c ubuntu:18.04 "/bin/bash" 6分前 6分前 brave_mendeleev

ここで、brave_mendeleev という名前のコンテナが実行されていることがわかります。それでは、このコンテナに入りましょう。次のコマンドを実行します

//コマンド sudo docker exec -it brave_mendeleev /bin/bash
//説明 brave_mendeleev: コンテナ名 exec: 実行中のコンテナ内でコマンドを実行 //結果 hjx@hjx-PC:/etc/docker$ sudo docker exec -it brave_mendeleev /bin/bash
ルート@1ce6fa95862c:/#

このようにして、Ubuntu 18.04 をイメージとするコンテナにログインできました。これでmysqlをインストールできます〜

Ubuntuコンテナにmysqlをインストールする

私はaptを使用してmysqlを直接インストールするのが好きです。ここに入力しました:

apt で mysql-server-5.7 をインストールします

その後、コンテナに正常にインストールできることが分かりました。インストールが成功したら、コンテナ内の mysql ポートをホストのポート 3306 にバインドする必要があります。ここでの手順は次のとおりです。

1: コンテナを停止します(停止せずに行うこともできます)

//コンテナを停止します sudo docker stop brave_mendeleev
// stop: コンテナ ライフサイクル管理コマンドについて説明します。このコマンドは、次のコマンドで構成されます。
 start: コンテナを起動します stop: コンテナを停止します restart: コンテナを再起動します

2: MySQLがインストールされたコンテナを新しいイメージとして送信する

//コマンド sudo docker commit brave_mendeleev ub/mysql
//説明 commit: コンテナから新しいイメージを作成する ub/mysql: 新しいイメージ名

3: ポートをバインドして新しいイメージを起動する

額。 。 。ここで楽しいことは終わります。 。 。うまくいきませんでした。 /(ㄒoㄒ)/~~

Ubuntu イメージを起動するときにポート 3306 をバインドし、上記の手順を再実行することにしました。

長い手術の後。元のコンテナを削除し、ポート 3306 を起動に再バインドし、コンテナにログインして MySQL をインストールしたところ、完璧にインストールされ、正常に実行されました。

よりシンプルなアプローチ

まあ、ミラー mysql を検索して起動するだけです。とてもシンプルですね😂😂😂😂

//mysql5.7 イメージをダウンロード sudo docker pull mysql:5.7

//ポート 3306 をバインドして起動します sudo docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
//説明 -e MYSQL_ROOT_PASSWORD=123456: ルートユーザーのパスワードを初期化します。

その後に他のパラメータが多数ありますが、ここでは必要ないので書きません。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。

以下もご興味があるかもしれません:
  • Docker に MySQL インスタンスをインストールして実行する
  • DockerにMySQL8をインストールする方法
  • Dockerにmysqlイメージをインストールして使用する
  • Ubuntu の Docker で mysql5.6 をインストールする方法
  • Mac 上の Docker に MySQL をインストールするグラフィック チュートリアル
  • Dockerにmysqlをインストールする詳細な説明
  • Mac で brew によってインストールされた MySql を Docker を使用して実行する方法
  • Docker に共通コンポーネント (mysql、redis) をインストールする方法

<<:  dockerでredis5.0.3をインストールする方法

>>:  ノードを使用して静的ファイルキャッシュを実装する方法

推薦する

データベースの削除から逃走までの MySQL の徹底分析_上級編 (I) - データ整合性

1. データ整合性の概要1. データ整合性の概要データの冗長性とは、データベース内に重複したデータが...

HTML でのフォームとフォーム送信操作に関する情報のコレクション

ここでは、フォーム要素とフォーム送信に関する知識を紹介します。フォーム要素フォーム要素の DOM イ...

Nginx ロケーション設定のチュートリアル (ゼロから)

基礎位置の一致順序は、「最初に正規表現に一致し、次に共通表現に一致」です。実際のロケーションの一致順...

ウェブデザインの経験とスキルの概要

■ ウェブサイトのテーマ計画 ウェブサイトのテーマが断片化しすぎないように注意してください。一般的に...

異なるページ間のJavaScriptデータ転送(URLパラメータ取得)

Web ページでは、あるページに情報を入力すると、別のページにジャンプし、入力した情報が別のページ...

MySQLのslave_exec_modeパラメータの詳細な説明

今日、slave_exec_modeというパラメータを偶然見ました。マニュアルの説明から、このパラメ...

SQL GROUP BYの詳細な説明と簡単な例

GROUP BY ステートメントは、Aggregate 関数と組み合わせて使用​​され、1 つ以上の...

MySQLインスタンスクラッシュ事例の詳細な分析

[問題の説明]私たちの実稼働環境には、複数の MySQL サーバー (MySQL 5.6.21) の...

CSS フロントエンドページレンダリング最適化属性 will-change の具体的な使用法

序文スクロールやサイズ変更などのスクロール イベントがトリガーされると、トリガーの頻度が非常に高くな...

Dockerを使用してSonarQubeをインストールする詳細なチュートリアル

目次1. イメージをプルする1.1 関連するイメージをプルして実行する1.1.1 関連する画像を取得...

Dockerを使用してSpring Bootプロジェクトをデプロイする手順

目次シンプルなSpringbootプロジェクトを作成する1. pom.xmlでSpring Boot...

Typescript の as、疑問符、感嘆符の詳細な説明

1. asキーワードはアサーションを示すTypescript では、アサーションを表現する方法が 2...

MySQLのデフォルトのソートルールに基づく落とし穴

MySQL のデフォルトの varchar 型は大文字と小文字を区別しません (insensitiv...

完璧なアロエベラジェルを選ぶには?完璧なアロエベラジェルの本物と偽物の見分け方

最新のパーフェクト アロエ ベラ ジェルのパッケージ ボックスには、赤いフォントで完璧な英語の文字が...

ウェブアニメーションのフレームレートFPSを計算する方法

目次スムーズなアニメーションの基準方法1: Chromeデベロッパーツールを使用する方法 2: フレ...