ざっくり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)