【Docker】使用Docker Desktop创建MySQL容器

はじめに

由于在业务中有机会在Docker Desktop上创建MySQL容器,因此我打算将步骤写下来。

今回は検証用でサクッとMySQLのコンテナを作成することが目的になります。
運用するために作るものではないため、そこはご了承下さい。

前提 – The prerequisite or basis.

    MacBook Pro 2020年モデルを使用します。(macOS Monterey バージョン12.3.1)
スクリーンショット 2022-04-12 16.47.38.png
    Dockerのバージョン(20.10.0)
% docker -v
Docker version 20.10.0, build 7287ab3
%
假设Docker桌面版已经安装完毕。

这次的组成

大致来说,以下是。

MySQL.drawio.png

作业步骤(从创建容器到登录MySQL)

我希望按照以下的安排来进行。

① 创建和确认容量
② 创建和确认容器

①音量的创建和确认

    ボリューム作成

创建容器内数据的持久化卷。
※这是为了确保即使删除容器,保存的数据也不会消失。

docker volume create <ボリューム名>
% docker volume create db_storage
db_storage
%
    ボリューム確認

ボリュームが作成されていることを確認します。

docker volume list
% docker volume list
DRIVER    VOLUME NAME
local     db_storage
%

创建和确认容器

    コンテナ作成
docker run -d --name <コンテナ名> -e MYSQL_DATABASE=<データベース名> -e MYSQL_ROOT_PASSWORD=<rootユーザーのパスワード> -v <作成したボリューム名>:/<ボリュームのパス> -p <外部向けポート番号>:<内部向けポート番号> mysql:<バージョン>

这次执行的定制内容如下。

docker run -d --name db_container -e MYSQL_DATABASE=db_name -e MYSQL_ROOT_PASSWORD=secret -v db_storage:/var/lib/mysql -p 3305:3306 mysql:5.7

% docker run -d --name db_container -e MYSQL_DATABASE=db_name -e MYSQL_ROOT_PASSWORD=secret -v db_storage:/var/lib/mysql -p 3305:3306 mysql:5.7

dc8c5e3eff3e682f48a29cd41c4703386093017bcc3a4a31724d43cb2320a269
%

実行例で指定している項目については、以下になります。
※別の機会でオプションについては詳しく解説します。

項目設定例コンテナ名db_container–name db_containerデータベース名db_nameMYSQL_DATABASE=db_name管理者パスワードsecretMYSQL_ROOT_PASSWORD=secretボリュームストレージ:db_storage
指定パス:/var/lib/mysql-v db_storage:/var/lib/mysql外部向けポート番号
内部向けポート番号3305
3306-p 3305:3306MySQLのバージョン5.7mysql:5.7

MySQLのコンテナイメージのバージョンについては、以下サイトをご覧下さい。

 

    コンテナ確認
docker ps
% docker ps
CONTAINER ID   IMAGE       COMMAND                  CREATED          STATUS          PORTS                               NAMES
dc8c5e3eff3e   mysql:5.7   "docker-entrypoint.s…"   18 minutes ago   Up 18 minutes   33060/tcp, 0.0.0.0:3305->3306/tcp   db_container
%

确认MySQL登录

docker exec -it db_container /usr/bin/mysql -u root -p
% docker exec -it db_container /usr/bin/mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.38 MySQL Community Server (GPL)

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

如果要退出MySQL,请输入以下命令。

quit
mysql> quit
Bye
%

删除(完成任务后)

如果要完成任务并进行删除,则按照以下步骤进行清理工作。

①删除容器
②删除卷

①删除容器

删除db_container。

    コンテナ削除
docker rm -f db_container
% docker rm -f db_container
db_container
%
    コンテナ確認
docker ps -a
% docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
%

删除音量

删除db_storage卷。

    ボリューム削除
docker volume rm db_storage
% docker volume rm db_storage
db_storage
%
    ボリューム確認
docker volume list
% docker volume list
DRIVER    VOLUME NAME
%

最后

由于業務上可能会有接触Docker和MySQL的机会,所以今后我打算继续发布相关的内容。
最近一直在研究微软系列的产品(如AzureAD和Intune等)。
所以,尽管这是一项完全不同的技术,但我会认真去学习和应用。

请参考下面的文章。

 

广告
将在 10 秒后关闭
bannerAds