1.安装Linux虚拟机
1)安装virtualbox
在本次课程里,Linux虚拟机使用的是VirtualBox。virtualBox是开源的,打开官网地址:https://www.virtualbox.org,下载安装即可。
在安装virtualbox之前,要开启CPU虚拟机化,因为每个品牌电脑的方式不同,具体操作可百度操作。
安装时,推荐安装到非C盘的其他盘。
安装完成后,打开virtualbox,界面如下:
可以先下载Linux系统镜像,然后点击新建,按照步骤一步步操作创建虚拟机。但这样操作有些麻烦,推荐使用一个新的技术vagrant。只要安装好virtualbox后,vagrant可以帮助我们快速创建一个虚拟机。(vagrant本身有一个镜像仓库,在这个镜像仓库中,官方有好多做好的镜像,我们使用vagrant,就可以连接virtualbox,快速地从官方镜像中创建出一个虚拟机。)
2)安装vagrant
打开vagrant官方网站,点击下载Windows版本的vagrant,下载完成后,点击安装即可(推荐安装到非C盘的其他盘)。vagrant安装完成之后需要重启系统。
验证vagrant是否安装完成:打开cmd命令窗口,输入“vagrant”,出现vagrant的相关命令即为安装成功
https://app.vagrantup.com/boxes/search vagrant官方镜像仓库
https://www.vagrantup.com/downloads.html vagrant下载
3)使用vagrant安装centos系统
简略步骤:
- 输入命令“vagrant init centos/7”来初始化
- 输入命令“vagrant up”启动虚拟机环境
$ vagrant init centos/7 A `Vagrantfile` has been placed in this directory. You are now ready to `vagrant up` your first virtual environment! Please read the comments in the Vagrantfile as well as documentation on `vagrantup.com` for more information on using Vagrant.
执行完上面的命令后,会在用户的家目录下生成 Vagrantfile 文件。
vagrant up命令下载镜像过程比较漫长,也可以采用先用下载工具下载到本地后,然后使用 “ vagrant box add ” 添加,再 “vagrant up” 即可
下载地址:https://vagrantcloud.com/centos/boxes/7/versions/2004.01/providers/virtualbox.box
第一步命令为:vagrant box add + centos/7 + box地址(D:\vagrant\box\virtualbox.box)
C:\Users\ASUS>vagrant box add centos/7 D:\vagrant\box\virtualbox.box ==> box: Box file was not detected as metadata. Adding it directly... ==> box: Adding box 'centos/7' (v0) for provider: box: Unpacking necessary files from: file:///D:/vagrant/box/virtualbox.box box: ==> box: Successfully added box 'centos/7' (v0) for 'virtualbox'!
第二步命令为:agrant up
C:\Users\ASUS>vagrant up Bringing machine 'default' up with 'virtualbox' provider... ==> default: Importing base box 'centos/7'... ==> default: Matching MAC address for NAT networking... ==> default: Setting the name of the VM: ASUS_default_1682754569951_70022 ==> default: Clearing any previously set network interfaces... ==> default: Preparing network interfaces based on configuration... default: Adapter 1: nat ==> default: Forwarding ports... default: 22 (guest) => 2222 (host) (adapter 1) ==> default: Booting VM... ==> default: Waiting for machine to boot. This may take a few minutes... default: SSH address: 127.0.0.1:2222 default: SSH username: vagrant default: SSH auth method: private key default: default: Vagrant insecure key detected. Vagrant will automatically replace default: this with a newly generated keypair for better security. default: default: Inserting generated public key within guest... default: Removing insecure key from the guest if it's present... default: Key inserted! Disconnecting and reconnecting using new SSH key... ==> default: Machine booted and ready! ==> default: Checking for guest additions in VM... default: No guest additions were detected on the base box for this VM! Guest default: additions are required for forwarded ports, shared folders, host only default: networking, and more. If SSH fails on this machine, please install default: the guest additions and repackage the box to continue. default: default: This is not an error message; everything may continue to work properly, default: in which case you may ignore this message. ==> default: Rsyncing folder: /cygdrive/c/Users/ASUS/ => /vagrant
第三步命令为:vagrant ssh (vagrant ssh 开启SSH,并登陆到centos7)
C:\Users\ASUS>vagrant ssh [vagrant@localhost ~]$
后续便可以在这里使用linux命令
配置网络信息,打开"Vagrantfile"文件:(大概在35行)
config.vm.network "private_network", ip : "192.168.56.10"
修改完成后,重启启动vagrant
vagrant reload
ip地址在cmd命令:ipconfig里,然后看到一个有virtualbox的,(但是我的没有)
查看host-only网卡ip网关时发现没有:virtualbox host-only ethernet:
进入网络适配器里查看,发现有一个的内容就是要找的virtualbox host-only ethernet
改完后cmd命令:vagrant reload(重启虚拟机)
打开cmd:ipconfig查看主机ip
然后与虚拟机互ping,看看是否成功
ping虚拟机
C:\Users\ASUS>ping 192.168.56.10 正在 Ping 192.168.56.10 具有 32 字节的数据: 来自 192.168.56.10 的回复: 字节=32 时间<1ms TTL=64 来自 192.168.56.10 的回复: 字节=32 时间<1ms TTL=64 来自 192.168.56.10 的回复: 字节=32 时间<1ms TTL=64 来自 192.168.56.10 的回复: 字节=32 时间<1ms TTL=64 192.168.56.10 的 Ping 统计信息: 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 0ms,最长 = 0ms,平均 = 0ms
虚拟机ping则先使用vagrant ssh连接,然后再ping主机ip
2)安装docker
移除旧版本
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
安装依赖
$ sudo yum install -y yum-utils $ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
安装新版本
$ sudo yum install docker-ce docker-ce-cli containerd.io
启动docker并开机自启docker
sudo systemctl start docker sudo systemctl enable docker
//配置镜像加速器
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://s5p8biel.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
docker中安装mysql
sudo docker pull mysql:5.7
sudo docker images (查看镜像)
创建实例并启动
//切换root用户,密码为vagrant su root //创建mysql容器 docker run -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7
参数说明:
-p 3306:3306:将容器的3306端口映射到主机的3306端口
–name mysql:是在给容器命名为mysql
-v /mydata/mysql/log:/var/log/mysql \:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql \:将配置文件夹挂载到主机
-v /mydata/mysql/conf:/etc/mysql \:将配置文件夹挂载到主机
-d :后台运行
创建完之后,可以根据命令:
docker ps,查看当前正在运行中的容器
docker ps -l:查看当前所有的容器
docker exec -it mysql /bin/bash:可以进入到mysql容器控制台,命令中的mysql部分可以是容器的名字,也可以是容器的ID
======================================================================================================================================================
进入mysql内部
docker exec -it mysql /bin/bash
exit(退出)
使用命令:vi /mydata/mysql/conf/my.cnf,然后输入i进行修改,将如下内容添加,按esc后输入:wq!保存退出
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] init_connect=’SET collation_connection = utf8_unicode_ci’ init-connect=’SET NAMES utf8’ character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake skip-name-resolve
修改完成后需要重启mysql容器
docker restart mysql
docker restart mysql
重启完成后,我们重新进入到mysql容器内容,查看里面的配置文件是否随着docker中的修改而修改
//进入到mysql容器内部
docker exec -it mysql /bin/bash
//进入到mysql容器内部 docker exec -it mysql /bin/bash
然后按照目录/etc/mysql,找到my.cnf,使用cat my.cnf命令,查看文件内容,和之前在docker的目录下修改的内容一致!
至此,环境搭建已经完成。
标签:box,virtualbox,--,vagrant,default,谷粒,mysql,docker,商城 From: https://www.cnblogs.com/ai377377/p/17364029.html