docker 部署 mysql

在宿主机Host的终端执行:
1、 搜索docker镜像仓库中提供的mysql

docker search mysql

2、下载mysql镜像

docker pull mysql:tag

3、改变目录权限,非必须
可以先执行第四步,到第五步时发现容器的状态时是Exited时,执行第六步来查看原因。
如果提示无权限访问时,则需要补上本步骤,这是因为开启SELinux enabled时权限控制更严格所导致

chcon -Rt svirt_sandbox_file_t /data/mysql

4、创建并运行mysql容器

docker run -d --name myMysql -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql

PS:
-d 表示在后台运行容器
–name 表示为后台运行的容器取别名,便于后续的操作
-v 用来指定数据卷,将正在运行mysql的容器上的/var/lib/mysql目录映射到宿主机上的/data/mysql目录

5、查看容器的运行状态

docker ps 或 docker ps -a

6、查看容器的运行日志
docker logs myMysql
有些系统中,如果没有设置第三步,可能运行mysql会失败,失败原因可以通过查看容器的运行日志来了解。

7、与容器进行交互

docker exec -t -i myMysql /bin/bash
执行之后会获得容器内的/bin/bash终端,
root@35e1fab30962:/#,其中35e1fab30962是容器ID
此时就可以在这里执行mysql命令了
Demo:

root@35e1fab30962:/# mysql -uroot -p
#输入之前设置的密码,此处为123456,输入正确后进入到mysql中
mysql> use mysql;
mysql> select * from user\G;

8、停止正在运行的mysql容器

docker stop myMysql

9、启动已创建的mysql容器

docker start myMysql

10、mysql容器的数据导出

docker exec myMysql sh -c ‘exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"’ > /some/path/on/your/host/all-databases.sql

你可能感兴趣的:(docker,mysql,容器)