使用 Docker 运行 MySQL 容器
Posted 小伍
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 Docker 运行 MySQL 容器相关的知识,希望对你有一定的参考价值。
运行
docker search mysql
docker pull mysql:5.7
docker images
# 挂载容器内的目录到主机中的指定目录
docker run -d \\
-p 3310:3306 \\
-v /home/mysql/conf:/etc/mysql/conf.d \\
-v /home/mysql/data:/var/lib/mysql \\
-e MYSQL_ROOT_PASSWORD=123456 \\
--name mysql01 \\
mysql:5.7 \\
--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
测试
# 连接容器的MySQL
$ docker run -it --rm mysql:5.7 mysql -hmysql01 -uexample-user -p
# 进入容器
$ docker exec -it mysql01 bash
# 查看容器日志
$ docker logs mysql01
查看所有可用的选项列表:
$ docker run -it --rm mysql:5.7 --verbose --help
使用文件加载环境变量
$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD_FILE=/run/secrets/mysql-root -d mysql:5.7
仅支持MYSQL_ROOT_PASSWORD
,MYSQL_ROOT_HOST
,MYSQL_DATABASE
,MYSQL_USER
,和MYSQL_PASSWORD
。
以指定用户身份运行容器
$ mkdir data
$ ls -lnd data
drwxr-xr-x 2 1000 1000 4096 Aug 27 15:54 data
$ docker run -v "$PWD/data":/var/lib/mysql --user 1000:1000 --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:5.7
备份数据库
$ docker exec some-mysql sh -c \'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"\' > /some/path/on/your/host/all-databases.sql
还原数据库
$ docker exec -i some-mysql sh -c \'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"\' < /some/path/on/your/host/all-databases.sql
参考:https://registry.hub.docker.c...
以上是关于使用 Docker 运行 MySQL 容器的主要内容,如果未能解决你的问题,请参考以下文章