Gets the latest version of Alpine with the latest MySQL. In favor for smallest image size
Pair your database through Volume
# existing one
-v /my/existing/db:/var/lib/mysql
# start clean slate with empty directory
-v /my/empty/db:/var/lib/mysql
Currently default config is this
file: my.cnf
[mysqld]
expire-logs-days = 3
user = root
datadir = /var/lib/mysql
port = 3306
log-bin = /var/lib/mysql/mysql-bin
socket = /var/lib/mysql/mysql.sock
!includedir /etc/mysql/conf.d/
-v /my/custom/configs:/etc/mysql/conf.d
docker run --rm -v /tmp/empty/database:/var/lib/mysql -p 3306:3306 harianto/mysql
Create empty database directory. Run the image as "mysqlsrv".
# create empty directory
mkdir -p /tmp/db
# assign directory and run image (remove image upon exit)
docker run --rm --name "mysqlsrv" -v /tmp/db:/var/lib/mysql harianto/mysql
# link mysqlsrv as db and run Alpine OS shell
docker run --rm --link mysqlsrv:db -it alpine /bin/sh
--rm: Automatically remove the container when it exits--name string: Assign a name to the container-v, --volume value: Bind mount a volume (default [])-i, --interactive: Keep STDIN open even if not attached-t, --tty: Allocate a pseudo-TTY--link value: Add link to another container (default [])
MySQL Client hasn't been installed yet, you can do it like:
# install mysql-client
apk add --update mysql-client
# connect mysql assigned 'db' host
mysql -h db
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.02 sec)
MariaDB [(none)]> create database example;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> use example;
Database changed
MariaDB [example]> create table `users` (`id` bigint(20) not null auto_increment, `name` char(30) not null, `age` smallint(6) not null, primary key(`id`));
Query OK, 0 rows affected (0.01 sec)
MariaDB [example]> insert into users (id, name, age) value (1,'first',42);
Query OK, 1 row affected (0.01 sec)
MariaDB [example]> select * from users;
+----+-------+-----+
| id | name | age |
+----+-------+-----+
| 1 | first | 42 |
+----+-------+-----+
1 row in set (0.00 sec)
MariaDB [example]> \q
Bye
In your host, check the folder:
/tmp/dbSee mysql data being populated
Content type
Image
Digest
Size
47.9 MB
Last updated
about 10 years ago
docker pull harianto/mysql