笔者以前测试和使用数据库都是在树莓派上面或直接在windows平台下使用,但是在树莓派上面安装mariadb数据库在完全软件版的树莓派上面时可以的,但是精简版的树莓派其实存在着依赖库的问题。笔者以前为了树莓派简洁装个个精简版的rasdebian,但是依赖库没有解决好,配置环境很麻烦。
Docker其实完全解决了笔者的问题,今天来测试一下使用Mariadb数据库。
因为笔者使用的虚拟机,在开启虚拟机时要收到开启docker服务:
sudo systemctl start docker或者 sudo systemctl start docker.service
1、pull镜像
docker search mariadb
docker pull mariadb
2、查看下载的镜像
docker images
3、运行容器
docker run -itd --name mariadb-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mariadb
-p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部可以直接通过宿主机ip:3306 访问到 mariadb 的服务。
MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。
如果不先pull而直接run的话也会提示你设置密码,不然运行不了!

4、查看你运行的容器
docker ps

ps -ef | grep docker | grep -v grep 也可以看到运行的容器,172.17.0.2为容器的ip地址,可以通过docker network inspect bridge来具体查看。

docker stats查看容器占用资源

5、进入容器连接数据库

6、因虚拟机没有mysql工具,于是在物理机192.168.31.40上远程连接数据库成功。

7、Navicat上连接数据库成功。
容器服务的 3306 端口到宿主机的 3306 端口,使用在虚拟机上的3306端口可以访问mariadb数据库服务。IP即为虚拟机的IP地址。

8、配置文件50-server.cnf
配置文件在目录下/etc/mysql/mariadb.conf.d,和真实安装的路径一样。

数据文件:/var/lib/mysql/
mysql客户端工具目录:/usr/bin/mysql
9、启动一个已经被停止的容器
docker ps -a 查看所有容器,包括停止的容器
docker start :启动一个或多个已经被停止的容器

10、操作不需要的镜像
先停止容器,NAMES通过 docker ps -a来定位的。
docker stop NAMES
再删除容器,容器号CONTAINER ID是通过 docker ps -a来定位的。
docker rm bd2825faedab
最后删除镜像,REPOSITORY时通过docker images来定位的。
docker rmi REPOSITORY
daocker使用很是方便,pull run rm太省心了!下一步笔者准备测试配置Mariadb数据库的主从复制,双主配置,一主多从的应用,那么就可以解决没有需要很多物理机(虚拟机)的限制,直接在现有镜像上再拉起一个容器就可以了!
网友评论