初心者が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 における varchar 型と char 型の違い

目次前述のVARCHAR型VARCHAR適用可能な状況CHAR型テストVARCHAR(5)とVARC...

Linux で完全な Samba サーバーを構築する方法 (CentOS バージョン)

序文smb は、クライアントとサーバー間の Web 接続および情報通信に使用できるプロトコルの名前で...

CSS スティッキーレイアウトを使用してヘッダーを上部に配置する方法

適用シナリオ:新しい要件の 1 つはアンケート調査を行うことですが、必然的に多くの質問が含まれ、1 ...

Linux 負荷分散 LVS の詳細な理解

目次1. LVS 負荷分散2. 負荷分散LVSの基本紹介3. LVSアーキテクチャ3.1 ロードバラ...

HTML フォーム_PowerNode Java アカデミー

1. フォーム1. フォームの役割HTML フォームは、さまざまな種類のユーザー入力を受け取り、ユー...

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

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

Dockerコンテナの自動終了を停止する方法の詳細な説明

この記事では、Docker コンテナとフロントエンド プロセスの関係と、コンテナを永続的に実行できる...

ウェブページ作成時に標準 HTML コードを使用する際のポイント

<br />多くのウェブサイト デザイナーが犯す最も一般的な間違いは、ウェブページが I...

Vue+Openlayer をベースに geojson を動的に読み込む方法

1つ以上の機能をロードする <テンプレート> <div id="map&...

JSONデータをHTMLで表示する方法

背景:場合によっては、json データをページに直接表示する必要があります (たとえば、インターフェ...

MySql 5.7.20 のインストールとデータおよび my.ini ファイルの構成

1. まずMySqlの公式サイトからダウンロードします参考: https://www.jb51.ne...

Linuxはnode.jsを完全に削除し、yumコマンドで再インストールします。

最初のステップ組み込みのパッケージ管理機能で一度削除する yum 削除 nodejs npm -y ...

HTML インライン要素と HTML ブロックレベル要素の概要と違い

ブロックレベル要素の機能: • 常に新しい行から始まり、それ自体で 1 行を占め、後続の要素も新しい...

Navicat for MySQLのスケジュールされたデータベースバックアップとデータ復旧の詳細

データベースの変更または削除操作によってデータ エラーが発生したり、データベースがクラッシュしたりす...

Vue3 ページ、メニュー、ルートの使用

目次1. メニューをクリックしてジャンプ1. ページ名の統一2. 管理ページを追加3. ルートを追加...