虚拟机部署centos系统部署docker和mysql的安装过程
作者本人使用的是vmware17Pro虚拟机,大家可以去网上找相关教程下载安装,此总结后边有多次安装遇到的bug,要是有地方不妥,欢迎相互交流
在刚开始时,我们先部署的是Linux虚拟机,在设置Linux系统基础环境时,系统就基本具有一些网络服务功能,差不多类似于现实中大型的服务器,还有设置网络这一块,把ip设成了静态的,这样我们在访问该虚拟机不用每次看它自动分配的地址了,还有就是DNS服务器,这里是用到了公共的DNS服务器。下边先解释下DNS。
DNS,全称为Domain Name System(域名系统),是互联网的一项核心服务,它作为分布式数据库存储和管理了全球网络资源的域名与IP地址之间的对应关系。在互联网中,每个设备都有一个唯一的IP地址用于标识和定位,但这些数字形式的地址难以记忆,因此引入了域名系统来提供一种更为人性化、易于理解的层次结构名称空间。
当用户输入网址(如www.example.com)访问网站时,计算机实际上需要的是该网站服务器对应的IP地址。DNS服务器在此过程中扮演着中介的角色,负责将用户提供的域名转换为相应的IP地址。这个过程被称为“DNS解析”。先就这样大概了解吧。
这样做是外部通过访问你设置好的IP地址,直接访问你Linux系统获取资源等等,而DNS会解析这个IP地址,帮你正确找到该Linux系统,然后这样就可以访问了,就是一个中介。
部署好Linux系统,我们通过xshell连接Linux系统,这直接访问它的IP地址就可以了,之后就可以操控Linux系统了,并在其上部署了docker容器,并在docker容器中下载好MySQL,通过设置Linux系统端口访问其上的MySQL端口,可以实现物理机中MySQL客户端通过访问Linux系统的端口,直接访问其上MySQL的端口。
还有一点要注意的就是那个在安装系统时的设置
首先设置系统软件环境配置,选择那个基本的网络服务器模式,因为我们要运行mysql,需要有服务器来运行它,然后就是设置网络那个,把那个ipv4进行配置,不过感觉ipv6也可以,对于我们练习没必要用那个地址分配,ipv4就够了,进入到网络配置时,先把那个以太网开关打开,会看到显示它的ip地址,但这是自动分配,现在我们联系不要紧,但是以后练习多了会这个ip本来会自动分配(系统默认),你要使用这个服务器,每次还得先找他的IP地址,比较麻烦,所以我们在其配置中设置ipv4那个设置,把地址分配改为手动,添加一个地址,这个的从虚拟机的设置网络编辑器中找到我们的对应虚拟机的网络设置,前边两项对应的是子网ip和网关,都可以看到,在右下角,然后网关ip在编辑器中对应系统服务的nat设置,这样我们可以看到了,还有就是子网ip要把最后一个点的后面自己设置一个数字,范围0-255,不过我们尽量设置大于1的小于255的,0和1已经被占用,其他没啥,保存就OK了,还有一个硬盘设置,进去点一下然后完成即可,之后就可以开始安装了
然后我们去阿里云服务器官网,找到产品中的容器镜像服务,然后管理控制台,进去以后有一个镜像工具,我们是在centos上部署容器,选择centos,然后就是有一个参考文档连接,点进去进行手动安装,根据centos的安装步骤,一步一步在xshell中进行命令部署安装,对了我们得先下载好xshell这个软件,然后就是建立于虚拟机的连接,ip地址与上方是一样的,用户名密码都通过第一次保存来以后直接连接使用,之后我们可以就进行安装部署docker容器,这里有个趣事就是我设置系统网络DNS服务器为华为的,但是在以上进行部署docker会出现失败,但是换成阿里的DNS服务器就可以了,说明产品要对应呀。
这里来讲一下这个docker容器,我简单理解就是这个又相当于一个虚拟机,然后在其上运行各种各样的应用服务,是因为这个容器将这些服务会隔离开互不影响,相当于每一个应用服务又是一个虚拟机。
docker安装好后,我们要安装镜像加速器,因为这个docker服务器在境外,所以连接专门的节点来完成我们所需要的下载,这个在阿里云服务器容器镜像那里有,复制粘贴运行即可,对了,这里有几个启动关闭等设置docker服务
systemctl start docker//启动docker服务
systemctl stop docker//停止docker服务
systemctl restart docker//重新启动docker服务
systemctl enable docker//打开系统一运行(开机)docker就运行
systemctl disable docker//关闭系统一运行(开机)docker就运行
然后我们使用docker pull mysql:版本号这一命令行,来完成MySQL数据库的下载
下载好后,我们要运行并设置mysql数据库
docker images//这个是查看docker容器中的镜像,确保mysql是否下载好
docker run -p 3306:3306 --name mysql --restart=always --privileged=true \
-v /usr/local/mysql/log:/var/log/mysql \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/conf:/etc/mysql \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
//以下是docker命令的对应解释,使用时按需来输入
-p 3306:3306:指定宿主机端口与容器(MySQL)端口映射关系,也就是要是外部想要访问该数据库,需要我们把数据库的端口映射到宿主机的端口,也就是虚拟机的端口,外部访问虚拟机指定端口即可访问到数据库的端口
--name mysql:创建的容器名称
--restart=always:总是跟随docker启动
--privileged=true:获取宿主机root权限
-v /usr/local/mysql/log:/var/log/mysql:映射日志目录,宿主机:容器
-v /usr/local/mysql/data:/var/lib/mysql:映射数据目录,宿主机:容器
-v /usr/local/mysql/conf:/etc/mysql:映射配置目录,宿主机:容器
-v /etc/localtime:/etc/localtime:ro:让容器的时钟与宿主机时钟同步,避免时区的问题,ro是read only的意思,就是只读。
-e MYSQL_ROOT_PASSWORD=123456:指定mysql环境变量,root用户的密码为123456
-d mysql:latest:后台运行mysql容器,版本是latest。
好了,以上就是虚拟机中部署docker容器以及MySQL镜像,外部访问数据库的一些连接细节,这个使用于centos系统仅能使用命令行,对于ubuntu系统这个目前是桌面端,进桌面端设置网络动态变静态,ip分配,DNS服务器等,终端部署docker容器,以及ssh远程访问权限,外部才可访问docker容器。
热门相关:弃妇种田忙 神秘复苏 驭房之术 豪门24小时:吻别霸道前夫 我的学姐会魔法