构建独立的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

results matching ""

    No results matching ""