构建独立的mysql容器
基本说明
OFFICIAL
https://hub.docker.com/_/mysql/
什么是alpine
Alpine Linux 是一个社区开发的面向安全应用的轻量级Linux发行版。 Docker官方镜像将会使用Alpine Linux替换Ubuntu - Docker容器的优势是轻量和可移植,所以承载它的操作系统也应该尽量迎合这个特性。 大小只有5M!
更改镜像源
国内访问 Docker Hub 有时会遇到困难,此时可以配置镜像加速器。国内很多云服务商都提供了加速器服务,例如:
注册用户并且申请加速器,会获得如 https://xxxx.mirror.aliyuncs.com 这样的地址。我们需要将其配置给 Docker 引擎。
docker加速器
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://???????.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
docker-compose.yml
db:
image: mysql:5.7.18
ports:
- "3306:3306"
volumes:
- /data/mysql:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=
- MYSQL_DATABASE=
- MYSQL_USER=
- MYSQL_PASSWORD=
高手进阶
进入数据库
$ docker exec -it CONTAINERID bash
root@CONTAINERID:/# mysql -u -p
dump
$ docker exec CONTAINERID sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /some/path/on/your/host/all-databases.sql
mysql.cnf
/etc/mysql/mysql.conf.d/mysqld.cnf