【Docker】使用Docker Desktop创建MySQL容器
はじめに
由于在业务中有机会在Docker Desktop上创建MySQL容器,因此我打算将步骤写下来。
今回は検証用でサクッとMySQLのコンテナを作成することが目的になります。
運用するために作るものではないため、そこはご了承下さい。
前提 – The prerequisite or basis.
- MacBook Pro 2020年モデルを使用します。(macOS Monterey バージョン12.3.1)
- Dockerのバージョン(20.10.0)
% docker -v
Docker version 20.10.0, build 7287ab3
%
假设Docker桌面版已经安装完毕。
这次的组成
大致来说,以下是。
作业步骤(从创建容器到登录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
指定パス:/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等)。
所以,尽管这是一项完全不同的技术,但我会认真去学习和应用。
请参考下面的文章。