使用 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_PASSWORDMYSQL_ROOT_HOSTMYSQL_DATABASEMYSQL_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 容器的主要内容,如果未能解决你的问题,请参考以下文章

使用 Docker 运行 MySQL 容器

将 docker 容器中运行的 JavaScript 连接到另一个 docker 容器上运行的 MySQL 数据库

MySQL在Docker环境下运行基础

使用docker容器运行Python程序

docker运行mysql容器自动停止的问题解救方案如下

12-Docker-部署SonarQube