初心者が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をインストールする方法

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

推薦する

Vueはランニングライトのシンプルな効果を実現

この記事では、マーキーのシンプルな効果を実現するためのVueの具体的なコードを参考までに共有します。...

リンクをクリックしたときに表示される点線のボックスを削除するいくつかの方法

削除する方法はいくつかあります:リンクを直接追加するonfocus="this.blur(...

CSSのborder-radiusプロパティを使用して円弧を設定します

現象: divを一定の振幅で円、楕円などに変更する方法: CSSのborder-radiusプロパテ...

ReactとReduxの配列処理の説明

この記事では、reduce()、filter()、map()、every()、some()、spre...

Linux で PCIe のバージョンと速度を確認する方法

PCIE には 4 つの異なる仕様があります。下の図でそのうちの 2 つを見てみましょう。マザーボー...

MySQL Group by最適化の詳細な説明

目次標準的な実行プロセス最適化並べ替えを削除並べ替え成し遂げる要約する標準の Group by ステ...

HTML ページをスクロールするときに一部のコンテンツを固定位置に固定する方法

この記事では主に、レイアウトに役立つ、HTML ページ内の一部のコンテンツを固定してスクロール時にス...

Vueは虫眼鏡付きの検索ボックスを実装します

この記事では、Vueを使用して虫眼鏡付きの検索ボックスを実装する方法を紹介します。具体的な内容は次の...

Linux 編集の開始、停止、再起動の Springboot jar パッケージ スクリプトの例

序文springboot設定ファイルでは、設定ファイルの名前には独自の意味と用途があります。 dev...

シェルで文字列内のスペースや指定された文字を削除する方法

インターネット上には、正しい方法であっても、使用しても正しい結果が得られない方法が数多くあります。正...

MySQL 基本チュートリアル: DML ステートメントの詳細な説明

目次DMLステートメント1. レコードを挿入する2. 記録を更新する3. シンプルなクエリレコード4...

HTML面接の質問の要約

1. doctypeの役割、厳密モードと混合モードの違い、そしてその重要性1. 構文形式: <...

Linux でユーザーにルート権限を追加する方法の概要

1. ユーザーを追加します。まず、adduser コマンドを使用して共通ユーザーを追加します。コマン...

統計量に対するmySql SQLクエリ操作

余計なことは言わないで、コードだけ見てみましょう〜 プロジェクト番号を選択、 sum(case wh...

ブルートフォース攻撃を防ぐためのシェルスクリプト設定

シェルスクリプトはアクセス制御を設定し、複数回のログイン失敗後にIPをブロックしてSSHのブルートフ...