新手程序员入职学习:小任务(1)

149 阅读3分钟

Centos虚机使用docker安装mysql,并实现自动备份

这次安排的学习任务分为了6个小任务:

  • 安装centos,版本7.6,最小化安装
  • 安装docker
  • 通过docker安装mysql,并连接windows
  • 实现自动备份数据库
  • 写一个数据库读写的程序,代码打包到docker部署在虚拟机上
  • 拓展虚机的硬盘,把新增的硬盘挂载到根目录

Centos7.6最小化安装并安装docker

安装Centos之前要安装虚拟机软件,对比VirtualBox,个人认为VMware workstat功能更为强大,界面也更fashion一些。

首先下载VMware Workstation 16,下载网址:www.lxlinux.net/7001.html 安装完成之后,下载centos的镜像并安装,参考:blog.51cto.com/u_11580232/…

安装过程基本没有难点,注意在安装时选择minium版本,网络连接模式选择NAT模式,桥接模式和NAT模式的异同可以参考:blog.csdn.net/Luisazong/a… 简单来说就是NAT模式是虚拟机链接虚拟机交换机后,通过在宿主机上的VMware虚拟网卡再连接宿主机网卡进行通讯,而桥接模式不再连接虚拟网卡,直接连接宿主机网卡进行通讯,相当于形成了一个局域网。

安装完成后进入界面

2022081001.PNG 由于一开始安装时采用了桥接模式,需要手动配置虚拟机ip地址,子网掩码后才能上网。配置方法为修改/etc/sysconfig/network-scripts下的ifcfg-ens33文件。命令为:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
进入界面修改得到:

image.png 主要需要修改 BOOTPROTO(boot开启操作系统,proto原型机,粗浅的理解为网络启动模式)为static,采用静态ip,ipaddr设置ip地址,gateway设置网关,注意ipaddr需要和gateway在一个网络段下,即子网掩码对应网络号的部分要相同。

如果需要虚拟机和主机能互相ping通,就需要设置ip地址和主机ip在一个网络段下,例如都为192.168.85.xxx,如果采用NAT模式,网络段需要和虚拟网卡的ip在同一网络段下。如果虚拟网卡,虚拟机ip,虚拟机网关不在一个ip,那么互相是ping不通的。

尝试ping 192.168.85.188通过后,虚拟机成功连接上了宿主机网络。
接下来尝试安装docker,参考文档:www.runoob.com/docker/cent… 命令: curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 如果出现Could not resolve host:xxxx的情况,说明网络没有配置好,需要重新检查网络配置。(命令curl的使用方法参考:www.ruanyifeng.com/blog/2019/0… ,curl fsSL参数f:fail时返回22代码,s:silent不显示进度错误,S:show-error显示错误信息,L:location允许跟随服务器重定向)

docker安装mysql,并连接windows

首先尝试docker是否正常运行

docker ps 显示所有正在运行的容器 -a参数显示所有容器包括停止的

出现报错

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

说明docker服务没有运行

systemctl restart docker 运行docker

systemctl enable docker 将docker添加入开机运行列表,这样就不用每次开机后都重启一次docker了

docker安装mysql的过程参考blog.csdn.net/allway2/art…

docker pull mysql下载镜像,然后创建一个mysql容器

docker run --name mysql01 -d -it -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456

-d分离式后台运行 -it开启交互界面(在run命令时无需添加) -p 将虚拟机3307端口映射到容器的3306端口 -e 设置环境变量 将mysql密码设置为123456

给代码增加命令-v mysql-data:/var/lib/mysql 将数据库绑定之前创建的docker数据卷(docker volume create mysql-data

完成mysql安装成功,显示:

2022081003.PNG 0.0.0.0:3308->3306指所有指向3308端口的连接映射到容器内的3306端口

使用windows上的navicat连接192.168.85.188 3307端口成功

2022081004.PNG