初心者が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 でprovide+inject組み合わせを使用するまず、App.vue を変更する必要があ...

Docker で SVN サーバーを構築するチュートリアル

SVN は Subversion の略称で、ブランチ管理システムを使用して効率的に管理するオープンソ...

詳細なアイデアを備えたシンプルな計算機の HTML 実装

コードをコピーコードは次のとおりです。 <!DOCTYPE html> <html...

Linux で Xfce デスクトップ環境を使用すべき 8 つの理由

いくつかの理由(好奇心も含む)から、数週間前に Linux デスクトップとして Xfce を使い始め...

H5 WeChatパブリックアカウント認証を実装するための簡単な手順

序文昨日、h5 WeChat認証の実装が必要なプロジェクトがありました。したがって、この機能を完了す...

ポートマッピング後に Docker コンテナが突然接続に失敗する問題のトラブルシューティング プロセス

1. 背景通常、外部サービスを提供する必要がある Docker コンテナの場合、起動時に -p コマ...

zk+kafka+storm クラスターの docker-compose デプロイメントの実装

クラスターの展開の概要172.22.12.20 172.22.12.21 172.22.12.22 ...

DIV 背景半透明テキスト非半透明スタイル

DIVの背景は半透明ですが、DIV内の文字は半透明ではありませんコードをコピーコードは次のとおりです...

HTML iframe と frameset の違い_PowerNode Java Academy

導入1.<iframe> タグ: iframe は、ページ内に内部フレームを生成するイン...

Vue3のdefineComponentの役割についての簡単な説明

目次defineComponent オーバーロード関数開発実務defineComponent 関数は...

docker run 起動パラメータ コマンドを表示する方法 (推奨)

runlike を使用してコンテナの docker run 起動パラメータを表示します。 pipを...

MySQL テーブルと列のコメントの概要

コードと同様に、テーブルや列にコメントを追加して、他のユーザーがその機能を理解できるようにすることが...

DOM操作テーブルの例(DOMはテーブルを作成します)

1. HTML タグを使用してテーブルを作成します。コードをコピーコードは次のとおりです。 <...

HTML に基づいてページを更新せずにフォーム送信を実装する

ページを更新せずにフォーム送信を実装するために Ajax を使用することは、プロジェクトでよく使用さ...

CSSにおけるマージン値と垂直マージンの重なりについて

平行ボックスの余白 (二重余白の重なり) に関する面接の質問: 1 つのボックスに上余白があり、もう...