half of month
项目环境搭建
1.virtual Box (开源、免费、体积小)
- 首先,进入自己电脑的BIOS主板,开启CPU虚拟化技术。每个人的主板不一样,我的是MSI B660M,默认已经开启CPU虚拟化技术。
- 从官网下载安装包,然后一步步安装即可。
2.Vagrant(虚拟机管理工具)
- 从官网下载vagrant对应操作系统的工具包
- 从 vagrant官方镜像 找到对应的镜像名称。例如:centos/7
- windows下新建文件夹mall,然后在cmd窗口打开,执行vagrant 初始化linux系统。初始化后的文件夹中会存在Vagrantfile文件。以下命令均在mall文件夹下执行
1.初始化centos系统
vagrant init centos/7
2.centos系统开机
vagrant up
3.使用vagrant自动连接进入centos系统,root的密码默认为vagrant
vagrant ssh
4.新建的centos系统的默认使用的是网络地址转换和端口转发的方式,对开发不方便。所以给虚拟机设置一个固定的IP地址用来后续的开发。
5.编辑Vagrantfile文件。其中的ip地址为virtual同一网段下的ip地址即可。
config.vm.network "private_network", ip: "192.168.56.10"
6.以上的ip地址修改完毕后,可以测试一下,本地系统和虚拟系统之间是否能ping通
网络地址转换(NAT):虚拟主机需要借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网,并且与物理机共用一个IP地址。
端口转发:windows系统这一个主机的端口号和虚拟主机的端口号存在对应关系
- 我本地的ip地址为192.168.56.1,所以上面给centos系统设置的ip地址为192.168.56.10(随便设置的)。
3.linux虚拟机安装docker
docker,一种虚拟化技术,可以快速启动各种容器,一次编译,到处运行
docker hub 镜像仓库:官方存储各种软件镜像的仓库
1.使用root用户卸载过去安装的docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2.安装docker依赖包并设置本地存储库(按照官方给的地址,设置的是国外的存储库,下载比较慢,后续会设置为阿里的镜像加速器)
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
3.安装docker引擎(社区版)、docker社区版引擎对应的命令行、docker守护进程、规定多个docker容器的启动顺序
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
4.启动docker
sudo systemctl start docker
5.验证docker是否可用(会下载一个测试的hello world镜像并运行)
sudo docker run hello-world
6.设置docker的开机自启动
sudo systemctl enable docker
7.配置阿里云的镜像加速服务,登录阿里云的账号,找到镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://75itdq1t.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
4.docker安装mysql镜像
- docker hub找到对应的mysql版本。例如:5.7
- 执行docker pull mysql:5.7拉取镜像
docker pull mysql:5.7
- 创建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映射到docker容器的3306
-v:文件挂载,操作主机下的/mydata/mysql/conf文件夹等同于操作docker中内置的/etc/mysql文件夹
-e:初始化root用户的密码为root
-d:后台运行
mysql:5.7:指定创建该实例所用的镜像名称
- 修改MySQL的配置文件
vim /mydata/mysql/conf/my.cnf
[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
docker restart mysql
5.docker安装redis镜像
- 拉取redis镜像
docker pull redis
- 创建redis实例
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf
docker exec -it redis redis-cli
vim /mydata/redis/redis.conf
appendonly yes
docker restart redis
docker update redis --restart=always
|