Based on CentOS7 original mariadb Dockerfile, based on Stephen Tweedie's mariadb Dockerfile...
This repo contains a recipe for making Docker container for mariadb on CentOS7.
Check your Docker version
# docker version
Perform the build
# docker build --rm --tag <yourname>/mariadb55 .
Check the image out.
# docker images
version: '2'
services:
mariadb:
image: rightctrl/mariadb:10.1
#image: mariadb:10.1
restart: always
# command: mysqld --innodb-buffer-pool-size=20M
# volumes:
# - "./mariadb:/var/lib/mysql:rw"
# - "./conf:/etc/mysql"
environment:
# - "MYSQL_DATABASE=my_db_name"
# - "MYSQL_USER=my_db_user"
# - "MYSQL_PASSWORD=my_db_user_passwd"
- "MYSQL_ROOT_PASSWORD=123456"
- "WSREP_CLUSTER_ADDRESS=gcomm://192.168.11.253,192.168.11.7,192.168.11.26"
# - "WSREP_PROVIDER_OPTIONS=ist.recv_addr=192.168.11.253"
- "WSREP_NODE_NAME=db1"
- "WSREP_NODE_ADDRESS=192.168.11.253"
# - "WSREP_SST_AUTH"
- "WSREP_SST_METHOD=rsync"
ports:
- "3306:3306"
- "4567:4567"
- "4568:4568"
- "4444:4444"
mem_limit: 3g
cpuset: 0,1
# docker run --name=mariadb -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=<password> <yourname>/mariadb
To use a separate data volume for /var/lib/mysql (recommended, to allow image update without losing database contents):
Create a data volume container: (it doesn't matter what image you use here, we'll never run this container again; it's just here to reference the data volume)
# docker run --name=mariadb-data -v /var/lib/mysql <yourname>/mariadb55 true
And now create the daemonized mariadb container:
# docker run --name=mariadb -d -p 3306:3306 --volumes-from=mariadb-data -e MYSQL_ROOT_PASSWORD=<password> <yourname>/mariadb55
You could also create an additional database by passing MYSQL_DATABASE and/or create an additional user passing MYSQL_USER to the container. You can specify database character set and/or collation by specifying MYSQL_CHARSET and/or MYSQL_COLLATION!
Keep in mind the initial password set for mariadb is: mysqlPassword. Change it now:
# mysqladmin --protocol=tcp -u testdb -p<password> password myNewPass
Connecting to mariadb:
# mysql --protocol=tcp -utestdb -pmyNewPass
Create a sample table:
\> CREATE TABLE test (name VARCHAR(10), owner VARCHAR(10),
-> species VARCHAR(10), birth DATE, death DATE);
Content type
Image
Digest
Size
128.9 MB
Last updated
over 8 years ago
docker pull rightctrl/mariadb:10.1