共计 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_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…
正文完