大型电商:环境搭建(Docker)-1

Linux环境搭建

1.下载 visualBox + vagrant

2.cmd输入vagrant init centos/7 注意这个命令在哪个目录下执行的,他的Vagrantfile就生成在哪里

3.vagrant up启动虚拟机环境

4.vagrant ssh 链接虚拟机

下次使用也可以直接vagrant up直接启动,确保cmd在Vagrantfile的目录中执行

详细可参考博客:https://blog.csdn.net/Tacks/article/details/90372939

网络模式

网络方式是网络地址转换NAT(端口转发),如果其他主机要访问虚拟机,必须由windows端口如3333断发给虚拟机端口如3306。不方便

更改虚拟ip方式:

1.win 下执行 ipconfig 查到vitualbox的虚拟网卡ip 如:192.168.50.1

2.修改Vagrantfile:config.vm.network "private_network",ip:"192.168.56.10"

3.vagrant reload 重启虚拟机

4.ip addr 看到 当前虚拟机ip为192.168.56.10

默认只允许ssh登录方式,为了后来操作方便,文件上传等,我们可以配置允许账号密码登录,也可通过其他工具链接ssh

vim /etc/ssh/sshd_config
修改
PasswordAuthentication yes
重启
service sshd restart
账号root
密码vagrant

 本机安装jdk1.8+ maven

Maven:安装

JDK的选型,安装与配置

安装docker

官方的安装文档:https://docs.docker.com/engine/install/centos/

基本步骤:

1.卸载系统之前的docker

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2.设置存储库  配置镜像

sudo yum install -y yum-utils
# 配置镜像
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
# docker引擎
sudo yum install docker-ce docker-ce-cli containerd.io

3.启动docker病设置开机自启

 

sudo systemctl start docker
# 设置开机自启动
sudo systemctl enable docker

4.查看版本

 

docker -v

5.配置镜像加速

 

使用阿里云:https://cr.console.aliyun.com/cn-qingdao/instances/mirrors

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://chqac97z.mirror.aliyuncs.com"]
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker

安装mysql-docker

用docker安装上mysql,去docker仓库里搜索mysql

安装5.7版本的MySQL

sudo docker pull mysql:5.7
# --name指定容器名字 -v目录挂载 -p指定端口映射  -e设置mysql参数 -d后台运行
sudo 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

端口映射就是把Linux的3306端口,映射docker的3306端口,达到访问Linux端口就能访问docker的对应端口

目录挂载 差不多意思

列出所有容器:docker ps

 

 

配置MySQL

# 进入已启动的容器
docker exec -it mysql bin/bash
# 退出进入的容器
exit;

#因为有目录映射,所以我们可以直接在镜像外执行
vi /mydata/mysql/conf/my.conf 
#保存以下内容到my.conf
[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

保存(注意评论区该配置不对,不是collection而是collation)

docker restart mysql

安装Redis-docker

如果直接挂载的话docker会以为挂载的是一个目录,所以我们先创建一个文件然后再挂载,在虚拟机中。

# 在虚拟机中
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf

安装redis

docker pull redis

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

# 直接进去redis客户端。
docker exec -it redis redis-cli

默认是不持久化的。在配置文件中输入appendonly yes,就可以aof持久化了。

vim /mydata/redis/conf/redis.conf
# 插入下面内容
appendonly yes  #保存

#重启redis
docker restart redis

设置redis容器在docker启动的时候启动

docker update redis --restart=always

IDEA /  vscode

idea

安装Lombok和Mybatisx 插件

Lombok 2021年之后的idea内置,无需在自己安装

vscode

vscode下载: https://code.visualstudio.com/

安装以下插件:

Auto Close Tag
Auto Rename Tag
Chinese
ESlint
HTML CSS Support
HTML Snippets
JavaScript (ES6) code snippets
Live Server
open in brower
Vetur

Git

下载git客户端,右键桌面Git GUI/bash Here。

# 配置用户名
git config --global user.name "tin"  //(名字,随意写)

# 配置邮箱
git config --global user.email "3558221572@qq.com" // 注册账号时使用的邮箱

# 配置ssh免密登录
ssh-keygen -t rsa -C "3558221572@qq.com"

三次回车后生成了密钥,也可以查看密钥
cat ~/.ssh/id_rsa.pub


浏览器登录码云后,个人头像上点设置、然后点ssh公钥、随便填个标题,然后赋值
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6MWhGXSKdRxr1mGPZysDrcwABMTrxc8Va2IWZyIMMRHH9Qn/wy3PN2I9144UUqg65W0CDE/thxbOdn78MygFFsIG4j0wdT9sdjmSfzQikLHFsJ02yr58V6J2zwXcW9AhIlaGr+XIlGKDUy5mXb4OF+6UMXM6HKF7rY9FYh9wL6bun9f1jV4Ydlxftb/xtV8oQXXNJbI6OoqkogPKBYcNdWzMbjJdmbq2bSQugGaPVnHEqAD74Qgkw1G7SIDTXnY55gBlFPVzjLWUu74OWFCx4pFHH6LRZOCLlMaJ9haTwT2DB/sFzOG/Js+cEExx/arJ2rvvdmTMwlv/T+6xhrMS3 894548575@qq.com

# 测试
ssh -T git@gitee.com

# 测试成功
Hi unique_perfect! You've successfully authenticated, but GITEE.COM does not provide shell access.

git的相关操作:https://www.tinstu.com/category/notes/git

阅读剩余
THE END