Dockerを起動する
$ sudo service docker start
[sudo] password for dxrdxr:
* Starting Docker: docker [ OK ]
$ docker version
Client: Docker Engine - Community
Version: 23.0.3
API version: 1.42
Go version: go1.19.7
Git commit: 3e7cbfd
Built: Tue Apr 4 22:05:48 2023
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 23.0.3
API version: 1.42 (minimum version 1.12)
Go version: go1.19.7
Git commit: 59118bf
Built: Tue Apr 4 22:05:48 2023
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.20
GitCommit: 2806fc1057397dbaeefbea0e4e17bddfbd388f38
runc:
Version: 1.1.5
GitCommit: v1.1.5-0-gf19387a
docker-init:
Version: 0.19.0
GitCommit: de40ad0
imageをpullする
$ docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql
558b7d69a2e5: Pull complete
2cb5a921059e: Pull complete
b85878fb9bb2: Pull complete
d16f3fd26a82: Pull complete
afd51b5329cb: Pull complete
374d2f7f3267: Pull complete
4ea1bb2c9574: Pull complete
1c9054053605: Pull complete
d79cd2da03be: Pull complete
e3a1aa788d17: Pull complete
Digest: sha256:d7c20c5ba268c558f4fac62977f8c7125bde0630ff8946b08dde44135ef40df3
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest
imageを確認する
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql latest 56b21e040954 2 weeks ago 632MB
MySQLを起動する
$ docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=admin -d mysql
93567b5903795d4935f5e827d2a7161248a049d8499d8d0f8a2fb85771b2f568
containerを確認する
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
93567b590379 mysql "docker-entrypoint.s…" 39 seconds ago Up 37 seconds 3306/tcp, 33060/tcp my-mysql
MySQLステータスを確認する
$ docker exec -it my-mysql bash -p
bash-4.4# mysql -u root -p -h 127.0.0.1
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.3.0 MySQL Community Server - GPL
Copyright (c) 2000, 2024, 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> status
--------------
mysql Ver 8.3.0 for Linux on x86_64 (MySQL Community Server - GPL)
Connection id: 8
Current database:
Current user: root@127.0.0.1
SSL: Cipher in use is TLS_AES_128_GCM_SHA256
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 8.3.0 MySQL Community Server - GPL
Protocol version: 10
Connection: 127.0.0.1 via TCP/IP
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: latin1
Conn. characterset: latin1
TCP port: 3306
Binary data as: Hexadecimal
Uptime: 6 min 9 sec
Threads: 2 Questions: 6 Slow queries: 0 Opens: 119 Flush tables: 3 Open tables: 38 Queries per second avg: 0.016
--------------
mysql> quit
Bye
bash-4.4# exit
exit
ポートを指定してMySQLを再起動する
起動中のcontainerを停止します
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
93567b590379 mysql "docker-entrypoint.s…" 7 minutes ago Up 7 minutes 3306/tcp, 33060/tcp my-mysql
$ docker container stop my-mysql
my-mysql
今のcontainerを削除します
$ docker container rm my-mysql
my-mysql
$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ポートを指定してMySQLを再起動します
$ docker run -it --name my-mysql -e MYSQL_ROOT_PASSWORD=admin -p 3306:3306 -d mysql
4de1d0c3b318fc9a4082c7cb89469282e6114b9b09cf7a0b8652471c7d006726
$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
4de1d0c3b318 mysql "docker-entrypoint.s…" 10 seconds ago Up 9 seconds 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp my-mysql
DATABASEを作成します
$ docker container exec -it my-mysql sh
sh-4.4# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.3.0 MySQL Community Server - GPL
Copyright (c) 2000, 2024, 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> CREATE DATABASE my_db_01 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected, 2 warnings (0.01 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| my_db_01 |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)