项目环境准备
1.虚拟机环境
我们可以通过VMWare来安装,但是通过VMWare安装大家经常会碰到网络ip连接问题,为了减少额外的环境因素影响,Docker内容的讲解我们会通过VirtualBox结合Vagrant来安装虚拟机。
VirtualBox官网:https://www.virtualbox.org/
Vagrant官网:https://www.vagrantup.com/
Vagrant镜像仓库:https://app.vagrantup.com/boxes/search
安装VirtualBox和Vagrant,傻瓜式安装。安装完成后需要重启计算机。
在cmd命令窗口输入 vagrant
命令弹出如下内容表示 vagrant
安装成功
通过Vagrant安装虚拟机:
- 创建一个空的目录,cmd切换到该目录中,然后执行
vagrant init centos/7
会创建Vagrantfile文件 - 执行
vagrant up
第一次执行的时候会远程下相关的镜像文件,并启动虚拟机。 - 连接虚拟机通过
vagrant ssh
连接
网络配置:
找到对应的Vagrantfile文件
修改完之后关闭virtualbox,用命令行 vagrant up 启动虚拟机
查看当前主机给虚拟机分配的网关的网段:
所以修改后的ip为:192.168.56.10
重启测试:需要提供私钥
私钥地址:
搞定
2.Docker环境
参考官方文档安装:https://docs.docker.com/engine/install/centos/
卸载原有的环境:
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
直接安装docker CE
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
表示安装成功
启动docker服务
sudo systemctl start docker
查看docker的版本
sudo docker version
补充:通过官方的镜像地址下载docker会比较慢,
配置阿里云的镜像地址:
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum更新下即可:
yum makecache fast
开机启动docker
sudo systemctl enable docker
3.基本软件安装
3.1 MySQL数据库安装
项目软件统一安装在 /mydata
目录下
docker拉取镜像命令
docker pull mysql:5.7
docker安装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
docker run: 通过mysql:5.7这个镜像来启动容器
-p 3306:3306 第一个3306是centos中的3306 第二个3306是mysql镜像中的3306,它们之间做了一层映射关系
--privileged=true
--name mysql 给我们的容器取了一个名字叫mysql
-v /mydata/mysql/log:/var/log/mysql 将mysql目录下的/var/log/mysql 挂载到centos目录/mydata/mysql/log 下
-v /mydata/mysql/data:/var/lib/mysql 对应的数据挂载到centos的data目录/mydata/mysql/data
-v /mydata/mysql/conf:/etc/mysql 配置文件挂载在centos的/mydata/mysql/conf目录下
-e MYSQL_ROOT_PASSWORD -e 代表属性文件MYSQL_ROOT_PASSWORD 设置了root账号的默认密码就是root账号
安装vim工具命令 yum install -y vim
在/mydata/mysql/conf/下创建一个文件my.cnf
执行命令:vim my.cnf
修改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
保存wq,然后退出重启一下mysql
docker restart pid
删除容器 docker rm id
排查错误 docker logs id
3.2 Redis安装
拉取Redis最新版本镜像
docker pull redis
先创建对应的Redis的映射配置文件
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
设置redis.conf
若需要远程连接访问redis:
1.注释掉本地的绑定 bind 127.0.0.1
2.关闭保护模式。protected-mode 修改为no
创建容器命令
docker run -d -p 6379:6379 --name mall-redis -v /mydata/redis/data:/data -v /mydata/redis/conf:/etc/redis redis redis-server /etc/redis/redis.conf
启动后测试连接:
[root@manager-node conf]# docker exec -it 4e redis-cli
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379>
设置容器自启动
[root@localhost ~]# docker update --restart=always mysql
mysql
[root@localhost ~]# docker update --restart=always mall-redis
mall-redis
xftp 上传文件失败
例如要上传的文件夹目录chmod 777 /mydata/redis/conf
设置容器自启动
[root@localhost ~]# docker update --restart=always mysql
mysql
[root@localhost ~]# docker update --restart=always mall-redis
mall-redis
xftp 上传文件失败
例如要上传的文件夹目录chmod 777 /mydata/redis/conf