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

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

推薦する

CentOS8 yum/dnfで国内ソースを設定する方法

CentOS 8 ではソフトウェア パッケージのインストール プログラムが変更され、yum 構成方法...

Reactでwindow.print()を使用した際にページが応答しなくなる問題の解決記録について

目次1. 問題の背景: 2. 問題の原因: 3. 問題解決:要約: 1. 問題の背景: window...

MySQL が起動直後にシャットダウンする問題 (ibdata1 ファイルの破損が原因) に対する完璧な解決策

コンピュータ ルームのサーバー上の mysql がしばらく実行されていたのですが、突然、再起動しても...

MyBatisインターセプターのページング機能を実装する方法

MyBatisインターセプターのページング機能を実装する方法序文:まず、実装原則についてお話しします...

DockerでMySQLコンテナを作成する簡単な手順

序文すでに Docker をインストールしており、Docker について簡単に理解しています。ここで...

ウェブページのグリッドデザインを考える

<br />元のアドレス: http://andymao.com/andy/post/8...

mysql コマンドライン スクリプトの実行例

この記事では、例を使用して MySQL コマンドライン スクリプトの実行について説明します。ご参考ま...

CSSをインポートする方法は何ですか?linkと@importの違いは何ですか?選択方法

Taobao のウェブページはインポートを使用していますが、多くのウェブサイトはリンクを使用していま...

黒、白、グレーの控えめでエレガントなウェブデザインを鑑賞

クラシックな色の組み合わせの中でも、黒、白、グレーの時代を超えた魅力を否定できる人はおそらくいないで...

エンコードが utf-8 に設定されている場合に Web ページが文字化けする問題の解決策

最近、PHP で Web ページを書いているときに、エンコードを UTF-8 に設定しました。しかし...

JavaScript でよく使われるいくつかの文字列メソッドの概要 (初心者必読)

JavaScriptでよく使われるいくつかの文字列メソッド文字列は読み取り専用データです。よく使用...

Vueの自己ネストツリーコンポーネントの使い方の詳細な説明

この記事では、Vueの自己ネストツリーコンポーネントの使い方を参考までに紹介します。具体的な内容は次...

Docker に Zookeeper を素早くインストールする方法の詳細なチュートリアル

Docker で Zookeeper を素早くインストール会社を変わってから長らくZookeeper...

MySQLデータストレージプロセスパラメータの詳細な例

MySQL ストアド プロシージャ パラメータには、in、out、inout の 3 種類があります...

解決策 - BASH: /HOME/JAVA/JDK1.8.0_221/BIN/JAVA: 権限が不十分です

1) jdkファイルが保存されているフォルダパスを入力します私はここにいますusr/local/jd...