关于docker:使用-Docker-运行-MySQL-容器

3次阅读

共计 1103 个字符,预计需要花费 3 分钟才能阅读完成。

运行

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…

正文完
 0