首页 > 其他分享 >三、环境搭建--谷粒商城

三、环境搭建--谷粒商城

时间:2023-04-30 12:33:21浏览次数:40  
标签:box virtualbox -- vagrant default 谷粒 mysql docker 商城

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

相关文章

  • CSC246/446机器学习
    CSC246/446MachineLearningHomework5:ClusteringObjectiveYouaregiventwokindsofdataset.DatasetsA,B,C,andZwerecreatedbytheinstructorbysamplingfromfourdifferentGaussianmixtures,withdifferentnumbersofmixturecomponents.Yourfi......
  • 六:单例模式:独一无二的存在
    a.揭开单例模式的神秘面纱在软件的世界里,我们常常会遇到这样一类对象:它们如同世界上独一无二的宝藏,只存在一个实例。这类对象成为了众多开发者追捧的焦点。为了满足这一特殊需求,设计模式大师们发明了一种叫做“单例模式”的设计。它犹如一种魔法,让某个类的实例永远只有一个。如今......
  • 七:原型模式:克隆的艺术
    a.原型模式的奥秘在一个遥远的星球上,有一个名叫CloneRex的神奇生物。它有一个非凡的能力,那就是可以快速复制自己。它通过这个能力,成功帮助了许多星球的居民解决了他们的燃眉之急。这个故事就像原型模式一样,通过克隆对象,而不是重新创建,实现对象的快速复制。b.动手实践:原型模式的......
  • 苏州服务器托管方案|关于天安保险数据中心解决方案
    前言   网上金融贸易越来越发达,导致越来越多的银行、证券、保险等金融行业不断进行线上业务拓展。这也使得海量的敏感数据存储和维护成为亘需攻克的难题。面对如此庞大的需求,金融企业一般面临两个选择:自建数据中心,或者将服务器托管。在金融领域,瞄准保险行业的IDC需求,苏州胜网......
  • 运用rman备份集搭建物理备库
    文档课题:运用rman备份集搭建物理备库.主库:192.168.133.110+oracle11.2.0.4+centos7.9主机名:leo-oracle-11g备库:192.168.133.113+oracle11.2.0.4+centos7.9主机名:leo-oracle-11gdg场景描述:最初的备库环境为主库的克隆.1、环境处理--对克隆的备库进行相关处理,如删......
  • 十二:桥接模式:独立发展的智慧
    a.桥接模式揭示桥接模式是一种结构型设计模式,它的目的是将抽象与实现分离,使得它们可以独立地变化。通过将实现部分和抽象部分独立开来,我们可以更灵活地实现不同的抽象和实现,从而让它们在独立发展的同时保持低耦合。b.动手编程:桥接模式示例假设我们正在设计一个电子设备商店,商......
  • 索引-性能分析-show profiles
    Sql性能分析:profiles详情:showprofiles能够在做SQL优化时帮助我们了解时间都耗费到哪里去了。通过hava——profiles参数,能够看到当前Mysql是否支持profiles操作执行一系列的业务SQL业务,然后通过如下指令查看指令的执行耗时:#查看每一条SQL的基本耗时情况:showprofiles;#......
  • 号码加密
    网上看到的一段烂代码,勉强有用functiongetTel(){varn=2,telstr='1';while(n<12){if(n<3){while(1){varnums=Math.floor(Math.random()*10);if(nums!==0&&nums!==1&&nums!==......
  • 哈希表总结
    哈希表总结常用数据结构总结数组有些时候,使用数组可以直接充当简单的哈希表,数组元素的下标作为key值,元素的值作为value值比如统计一个单词各个字符出现的次数,因为字母26个数目是有限的,所以数组的下标也是有限的,可以轻松实现。使用数组的情况,数组的下标一般都是有......
  • 自制计算器
    自制计算器,拿去参赛了。可以支持普通计算、统计模式。顺便连了个命令提示符。计算之前需要先输入模式。普通计算是mode1,统计模式是mode2,命令提示符是mode3。例如,输入mode11+2+3,可以输出Theansis:6.00000。输入mode2[1,2,3],mode2max,会输出Maximum:3.00000......