|
@@ -0,0 +1,108 @@
|
|
|
|
|
+# Supported tags and respective `Dockerfile` links
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+For more information about this image and its history, please see the [relevant
|
|
|
|
|
+manifest file
|
|
|
|
|
+(`library/mariadb`)](https://github.com/docker-library/official-images/blob/master/library/mariadb)
|
|
|
|
|
+in the [`docker-library/official-images` GitHub
|
|
|
|
|
+repo](https://github.com/docker-library/official-images).
|
|
|
|
|
+
|
|
|
|
|
+# What is MariaDB?
|
|
|
|
|
+
|
|
|
|
|
+MariaDB is a community-developed fork of the MySQL relational database
|
|
|
|
|
+management system intended to remain free under the GNU GPL. Being a fork of a
|
|
|
|
|
+leading open source software system, it is notable for being led by the original
|
|
|
|
|
+developers of MySQL, who forked it due to concerns over its acquisition by
|
|
|
|
|
+Oracle. Contributors are required to share their copyright with the MariaDB
|
|
|
|
|
+Foundation.
|
|
|
|
|
+
|
|
|
|
|
+The intent is also to maintain high compatibility with MySQL, ensuring a
|
|
|
|
|
+"drop-in" replacement capability with library binary equivalency and exact
|
|
|
|
|
+matching with MySQL APIs and commands. It includes the XtraDB storage engine for
|
|
|
|
|
+replacing InnoDB, as well as a new storage engine, Aria, that intends to be both
|
|
|
|
|
+a transactional and non-transactional engine perhaps even included in future
|
|
|
|
|
+versions of MySQL.
|
|
|
|
|
+
|
|
|
|
|
+> [wikipedia.org/wiki/MariaDB](https://en.wikipedia.org/wiki/MariaDB)
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+# How to use this image
|
|
|
|
|
+
|
|
|
|
|
+## start a mariadb instance
|
|
|
|
|
+
|
|
|
|
|
+ docker run --name some-mariadb -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mariadb
|
|
|
|
|
+
|
|
|
|
|
+This image includes `EXPOSE 3306` (the mysql/mariadb port), so standard
|
|
|
|
|
+container linking will make it automatically available to the linked containers
|
|
|
|
|
+(as the following examples illustrate).
|
|
|
|
|
+
|
|
|
|
|
+## connect to it from an application
|
|
|
|
|
+
|
|
|
|
|
+Since MariaDB is intended as a drop-in replacement for MySQL, it can be used
|
|
|
|
|
+with many applications.
|
|
|
|
|
+
|
|
|
|
|
+ docker run --name some-app --link some-mariadb:mysql -d application-that-uses-mysql
|
|
|
|
|
+
|
|
|
|
|
+## ... or via `mysql`
|
|
|
|
|
+
|
|
|
|
|
+ docker run -it --link some-mariadb:mysql --rm mariadb sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
|
|
|
|
|
+
|
|
|
|
|
+## Environment Variables
|
|
|
|
|
+
|
|
|
|
|
+The MariaDB image uses several environment variables which are easy to miss. While
|
|
|
|
|
+not all the variables are required, they may significantly aid you in using the
|
|
|
|
|
+image. The variables use "MYSQL" since the MariaDB binary is `mysqld`.
|
|
|
|
|
+
|
|
|
|
|
+### `MYSQL_ROOT_PASSWORD`
|
|
|
|
|
+
|
|
|
|
|
+This is the one environment variable that is required for you to use the MariaDB
|
|
|
|
|
+image. This environment variable should be what you want to set the root
|
|
|
|
|
+password for MariaDB to. In the above example, it is being set to
|
|
|
|
|
+"mysecretpassword".
|
|
|
|
|
+
|
|
|
|
|
+### `MYSQL_USER`, `MYSQL_PASSWORD`
|
|
|
|
|
+
|
|
|
|
|
+These optional environment variables are used in conjunction to set both a MariaDB
|
|
|
|
|
+user and password, which will subsequently be granted all permissions for the
|
|
|
|
|
+database specified by the optional `MYSQL_DATABASE` variable. Note that if you
|
|
|
|
|
+only have one of these two environment variables, then neither will actually do
|
|
|
|
|
+anything - these two are meant to be used in conjunction with one another.
|
|
|
|
|
+
|
|
|
|
|
+### `MYSQL_DATABASE`
|
|
|
|
|
+
|
|
|
|
|
+This optional environment variable denotes the name of a database to create. If
|
|
|
|
|
+a user/password was supplied (via the `MYSQL_USER` and `MYSQL_PASSWORD`
|
|
|
|
|
+environment variables) then that user account will be granted (`GRANT ALL`)
|
|
|
|
|
+access to this database.
|
|
|
|
|
+
|
|
|
|
|
+# Caveats
|
|
|
|
|
+
|
|
|
|
|
+If there is no database when `mariadb` starts in a container, then `mariadb` will
|
|
|
|
|
+create the default database for you. While this is the expected behavior of
|
|
|
|
|
+`mariadb`, this means that it will not accept incoming connections during that
|
|
|
|
|
+time. This may cause issues when using automation tools, such as `fig`, that
|
|
|
|
|
+start several containers simultaneously.
|
|
|
|
|
+
|
|
|
|
|
+# User Feedback
|
|
|
|
|
+
|
|
|
|
|
+## Issues
|
|
|
|
|
+
|
|
|
|
|
+If you have any problems with or questions about this image, please contact us
|
|
|
|
|
+ through a [GitHub issue](https://github.com/docker-library/mariadb/issues).
|
|
|
|
|
+
|
|
|
|
|
+You can also reach many of the official image maintainers via the
|
|
|
|
|
+`#docker-library` IRC channel on [Freenode](https://freenode.net).
|
|
|
|
|
+
|
|
|
|
|
+## Contributing
|
|
|
|
|
+
|
|
|
|
|
+You are invited to contribute new features, fixes, or updates, large or small;
|
|
|
|
|
+we are always thrilled to receive pull requests, and do our best to process them
|
|
|
|
|
+as fast as we can.
|
|
|
|
|
+
|
|
|
|
|
+Before you start to code, we recommend discussing your plans
|
|
|
|
|
+through a [GitHub issue](https://github.com/docker-library/mariadb/issues), especially for more ambitious
|
|
|
|
|
+contributions. This gives other contributors a chance to point you in the right
|
|
|
|
|
+direction, give you feedback on your design, and help you find out if someone
|
|
|
|
|
+else is working on the same thing.
|