2016-07-28 13:26:22 +00:00
|
|
|
# pluie/alpine-mysql
|
|
|
|
|
2016-08-01 02:22:06 +00:00
|
|
|
- [index][1]
|
2017-03-18 01:16:10 +00:00
|
|
|
- [pluie/alpine][2] ( ~ 9 MB ) Alpine/3.5
|
|
|
|
- [pluie/alpine-apache][3] ( ~ 50 MB ) Apache/2.4.25 Php/5.6.30
|
|
|
|
- [pluie/alpine-apache-fpm][7] ( ~ 51 MB ) Apache/2.4.25 Php/5.6.30 Fpm
|
|
|
|
- [pluie/alpine-symfony][6] ( ~ 83 MB ) Symfony2.8 or 3.2
|
|
|
|
- [pluie/alpine-apache-php7][8] ( ~ 45 MB ) Apache/2.4.25 Php/7.0.16
|
|
|
|
- [pluie/alpine-symfony-php7][9] ( ~ 77 MB ) Symfony2.8 or 3.2 Php/7.0.16
|
|
|
|
- [pluie/alpine-mysql][4] ( ~181 MB ) Mysql/5.6 ( MariaDB )
|
2018-08-07 19:31:46 +00:00
|
|
|
- [pluie/libecho][10] ( ~288 MB ) Vala 0.34.2 pluie-echo-0.2
|
2018-08-14 00:22:12 +00:00
|
|
|
- [pluie/ubuntu][12] ( ~141 MB ) Ubuntu 18.04
|
|
|
|
- [pluie/libyaml][11] ( ~538 MB ) Vala 0.40.4 pluie-yaml-0.4
|
2016-08-01 02:22:06 +00:00
|
|
|
- [docker tips][5]
|
2016-07-28 13:26:22 +00:00
|
|
|
|
2017-03-18 01:16:10 +00:00
|
|
|
Extend pluie/alpine with mysql (MariaDb/10.1.22)
|
2016-08-01 02:22:06 +00:00
|
|
|
Project comes with various scripts to execute basic tasks such as :
|
|
|
|
- dbcreate
|
|
|
|
- dbdump
|
|
|
|
- dbload
|
|
|
|
|
|
|
|
If database directory is empty a root user is created at startup.
|
|
|
|
Root access to database is only permit on localhost
|
2016-07-28 13:26:22 +00:00
|
|
|
|
2016-07-28 15:46:03 +00:00
|
|
|
## Image Size
|
2016-07-28 13:26:22 +00:00
|
|
|
|
2017-03-18 01:16:10 +00:00
|
|
|
- image ~ 181 MB
|
2016-07-28 13:26:22 +00:00
|
|
|
|
2016-07-28 15:46:03 +00:00
|
|
|
## Image Volumes
|
2016-07-28 13:26:22 +00:00
|
|
|
|
2016-08-01 02:22:06 +00:00
|
|
|
```
|
|
|
|
/var/lib/mysql # mysql database directory
|
|
|
|
/dump # directory to store various mysql scripts
|
|
|
|
```
|
2016-07-28 13:26:22 +00:00
|
|
|
|
2016-07-28 15:46:03 +00:00
|
|
|
## ENV variables
|
2016-07-28 13:26:22 +00:00
|
|
|
|
2016-08-01 02:22:06 +00:00
|
|
|
```
|
|
|
|
MYSQL_DATABASE # create specified database at startup
|
|
|
|
MYSQL_USER # create specified user at startup (and grant all rights to MYSQL_DATABASE)
|
|
|
|
MYSQL_PASSWORD
|
|
|
|
MYSQL_ROOT_PASSWORD # don't really need it. a random root password is generated if none
|
|
|
|
```
|
2016-07-28 13:26:22 +00:00
|
|
|
|
2016-08-01 02:22:06 +00:00
|
|
|
### Inherit ENV variables
|
|
|
|
|
|
|
|
```
|
|
|
|
SHENV_CTX=LOCAL # LOCAL|INT|PROD change context bg color
|
|
|
|
SHENV_NAME=Mysql # container name
|
|
|
|
SHENV_COLOR=97 # ANSI EXTENDED COLOR CODE
|
|
|
|
```
|
2016-07-28 13:26:22 +00:00
|
|
|
|
2016-07-28 15:46:03 +00:00
|
|
|
## Image Usage
|
2016-07-28 13:26:22 +00:00
|
|
|
|
2016-08-01 02:22:06 +00:00
|
|
|
for example to start a new project :
|
2016-07-28 13:26:22 +00:00
|
|
|
```
|
2016-08-01 02:22:06 +00:00
|
|
|
$ cd /home/docker;
|
|
|
|
$ mkdir -p db/{mysql,dump}
|
|
|
|
|
|
|
|
$ docker run --name mysql \
|
|
|
|
-v $(pwd)/db/mysql:/var/lib/mysql \
|
|
|
|
-v $(pwd)/db/dump:/dump \
|
|
|
|
-e MYSQL_DATABASE=mybase \
|
|
|
|
-e MYSQL_USER=dev \
|
|
|
|
-e MYSQL_PASSWORD=mysql \
|
|
|
|
-it pluie/alpine-mysql
|
2016-07-28 13:26:22 +00:00
|
|
|
```
|
2016-08-01 02:22:06 +00:00
|
|
|
you don't need to expose your localhost mysql port.
|
|
|
|
for example :
|
2016-07-28 13:26:22 +00:00
|
|
|
|
2016-08-01 02:22:06 +00:00
|
|
|
```
|
|
|
|
$ docker run --name pma -p 8080:80 --link mysql:db -d phpmyadmin/phpmyadmin
|
|
|
|
```
|
|
|
|
|
2017-03-18 01:16:10 +00:00
|
|
|
and __phpmyadmin__ is accessible via `http://localhost:8080/` and linked to your mysql container
|
|
|
|
(by the way on dev, you don't need to expose your 8080 port too... simply use a bridge network and update your
|
|
|
|
`/etc/hosts` file - see [ docker tips ][5] for that)
|
2016-08-01 02:22:06 +00:00
|
|
|
|
|
|
|
### Existing Scripts
|
2016-07-28 13:26:22 +00:00
|
|
|
|
2016-08-01 02:22:06 +00:00
|
|
|
create a new database with full rights to a user :
|
2016-07-28 13:26:22 +00:00
|
|
|
```
|
2016-08-01 02:22:06 +00:00
|
|
|
$ docker exec -it mysql /dbcreate mydbname myuser
|
2016-07-28 13:26:22 +00:00
|
|
|
```
|
2016-08-01 02:22:06 +00:00
|
|
|
load an export file in particular database :
|
2016-07-28 13:26:22 +00:00
|
|
|
```
|
2016-08-01 02:22:06 +00:00
|
|
|
$ docker exec -it mysql /dbload mydbname /dump/mydbname.init.sql
|
2016-07-28 13:26:22 +00:00
|
|
|
```
|
2016-08-01 02:22:06 +00:00
|
|
|
dump a database :
|
2016-07-28 13:26:22 +00:00
|
|
|
```
|
2016-08-01 02:22:06 +00:00
|
|
|
$ docker exec -it mysql /dbdump mydbname
|
2016-07-28 13:26:22 +00:00
|
|
|
```
|
|
|
|
|
2016-08-01 02:22:06 +00:00
|
|
|
### More specific actions as user
|
2016-07-28 13:26:22 +00:00
|
|
|
|
2016-08-01 02:22:06 +00:00
|
|
|
to connect to the mysql server as user from host :
|
2016-07-28 13:26:22 +00:00
|
|
|
```
|
|
|
|
mysql -h ipmysqlcontainer -udev -pmysql
|
|
|
|
```
|
2016-08-01 02:22:06 +00:00
|
|
|
to retriew container ip you can run first :
|
2016-07-28 13:26:22 +00:00
|
|
|
```
|
2016-08-01 02:22:06 +00:00
|
|
|
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql
|
2016-07-28 13:26:22 +00:00
|
|
|
```
|
2016-08-01 02:22:06 +00:00
|
|
|
to connect to the mysql server as user from container :
|
|
|
|
```
|
|
|
|
$ docker exec -it mysql "mysql -udev -pmysql"
|
|
|
|
```
|
|
|
|
|
|
|
|
### More specific actions as root
|
|
|
|
|
|
|
|
to connect to the mysql server as root :
|
|
|
|
```
|
2017-03-18 01:16:10 +00:00
|
|
|
$ docker exec -it mysql mysql
|
2016-08-01 02:22:06 +00:00
|
|
|
```
|
|
|
|
to connect to the mysql container as root :
|
|
|
|
```
|
|
|
|
docker exec -it mysql bash
|
|
|
|
```
|
|
|
|
then
|
|
|
|
```
|
|
|
|
$ mysql -uroot mybase < /dump/init.mybase.sql
|
|
|
|
$ mysqldump -uroot mybase > /dump/last.mybase.dump.sql
|
|
|
|
```
|
|
|
|
etc.
|
|
|
|
|
2016-07-28 13:26:22 +00:00
|
|
|
|
2016-07-28 15:46:03 +00:00
|
|
|
## Link Container
|
2016-07-28 13:26:22 +00:00
|
|
|
|
2016-08-01 02:22:06 +00:00
|
|
|
to link this container to another, use the default docker behavior
|
|
|
|
(as the example provide with phpmyadmin) :
|
2016-07-28 13:26:22 +00:00
|
|
|
```
|
|
|
|
docker run --name mycontainer --link mysql:db ...
|
|
|
|
```
|
2016-08-01 02:22:06 +00:00
|
|
|
|
|
|
|
[1]: https://github.com/pluie-org/docker-images
|
|
|
|
[2]: https://github.com/pluie-org/docker-images/tree/master/pluie/alpine
|
2016-08-13 19:43:47 +00:00
|
|
|
[3]: https://github.com/pluie-org/docker-images/tree/master/pluie/alpine-apache
|
|
|
|
[4]: https://github.com/pluie-org/docker-images/tree/master/pluie/alpine-mysql
|
2016-08-12 02:06:57 +00:00
|
|
|
[7]: https://github.com/pluie-org/docker-images/tree/master/pluie/alpine-apache-fpm
|
2016-08-01 02:22:06 +00:00
|
|
|
[5]: https://github.com/pluie-org/docker-images/blob/master/DOCKER.md
|
2016-08-09 01:08:26 +00:00
|
|
|
[6]: https://github.com/pluie-org/docker-images/tree/master/pluie/alpine-symfony
|
2017-01-30 01:58:46 +00:00
|
|
|
[8]: https://github.com/pluie-org/docker-images/tree/master/pluie/alpine-apache-php7
|
|
|
|
[9]: https://github.com/pluie-org/docker-images/tree/master/pluie/alpine-symfony-php7
|
2018-08-07 19:31:46 +00:00
|
|
|
[10]: https://github.com/pluie-org/docker-images/tree/master/pluie/libecho
|
|
|
|
[11]: https://github.com/pluie-org/docker-images/tree/master/pluie/libyaml
|
2018-08-14 00:22:12 +00:00
|
|
|
[12]: https://github.com/pluie-org/docker-images/tree/master/pluie/ubuntu
|