八、Docker部署常见服务
8.1、部署MySQL
0.Docker Hub 搜索Mysql镜像
1.拉取mysql镜像到本地
[root@docker ~]
2.运行mysql服务
[root@docker ~]
7c8760d433ce37156cb897cc56fc47fd4bfa7bdc4aedcba880f58065ac0e4ed1
[root@docker ~]
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@docker ~]
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7c8760d433ce mysql:5.6.51 "docker-entrypoint.s…" 5 seconds ago Exited (1) 3 seconds ago mysql01
[root@docker ~]
2021-06-01 05:35:10+00:00 [ERROR] [Entrypoint]: Database is uninitialized and password option is not specified
You need to specify one of the following:
- MYSQL_ROOT_PASSWORD
- MYSQL_ALLOW_EMPTY_PASSWORD
- MYSQL_RANDOM_ROOT_PASSWORD
5.使用环境配置参数
[root@docker ~]
b909416e6eb0a2de21579cd6ec81c1f1e2d3240a0aef382d013aea4e8b8611dd
d[root@docker ~]
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b909416e6eb0 mysql:5.6.51 "docker-entrypoint.s…" 6 seconds ago Up 5 seconds 0.0.0.0:49154->3306/tcp, :::49154->3306/tcp mysql02
MYSQL_ROOT_PASSWORD 给root账号设置密码
6.将容器数据位置与宿主机位置挂载持久化数据
[root@docker ~]
[root@docker ~]
"Source": "/var/lib/docker/volumes/mysqldata/_data",
7.将mysql数据库备份为sql文件
docker exec mysql03 sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWOR