bigmac-jp blog

web開発関連のメモ

ざっくりDocker その3

ざっくりDockerめも

MySQLコンテナ作成

Dockerfile作成
$ mkdir mysql
$ cd mysql
$ vi Dockerfile
FROM mysql
COPY ./config/mysql.cnf /etc/mysql/conf.d/
COPY ./initdb.sql /docker-entrypoint-initdb.d/
Mysql設定ファイル作成
$ mkdir config
$ cd config
$ vi mysql.cnf
[mysqld]
character-set-server=utf8mb4
default_authentication_plugin=mysql_native_password

[client]
default-character-set=utf8
Database作成SQL
$cd ../
$ vi initdb.sql
create database test;
イメージ作成
$ docker build  -t mysql_db .
Sending build context to Docker daemon  4.608kB
Step 1/3 : FROM mysql
 ---> f991c20cb508
Step 2/3 : COPY ./config/mysql.cnf /etc/mysql/conf.d/
 ---> 205c35306dbb
Step 3/3 : COPY ./initdb.sql /docker-entrypoint-initdb.d/
 ---> 0d453a4ce76c
Successfully built 0d453a4ce76c
Successfully tagged mysql_db:latest
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql_db            latest              0d453a4ce76c        18 seconds ago      486MB
コンテナ起動
$ docker run --rm -e MYSQL_ROOT_PASSWORD=password -d test_mysql
$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                 NAMES
e4ffd423bcc5        test_mysql          "docker-entrypoint.s…"   About a minute ago   Up About a minute   3306/tcp, 33060/tcp   relaxed_hodgkin
コンテナ接続
$ docker exec -i -t e4ffd423bcc5  /bin/bash
// 接続済み
root@e4ffd423bcc5:/# mysql --version
mysql  Ver 8.0.13 for Linux on x86_64 (MySQL Community Server - GPL)
root@e4ffd423bcc5:/# mysql -u root -p 
#password
// mysql接続
mysql> 
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| test               |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)