docker环境搭建

项目环境搭建

1、安装 Linux 虚拟机

(1)下载安装: VM VirtualBox

在这里插入图片描述

在这里插入图片描述

(2)通过vagrant,在VirtualBox中安装虚拟机

  • 下载安装vagrant
    • 官方镜像仓库:https://app.vagrantup.com/boxes/search
    • vagrant 下载:
      • https://www.vagrantup.com/downloads.html
      • https://releases.hashicorp.com/vagrant/2.2.5/vagrant_2.2.5_x86_64.msi
  • 验证vagrant是否成功
vagrant
  • 使用命令快速创建虚拟机
Vagrant init centos/7
# 即初始化一个centos7系统 可在vagrant 镜像仓库官网查看对应的安装系统

在这里插入图片描述

(3)在Linux中安装Docker

  • 卸载旧版本
 sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

sudo 超级管理员(最高权限)

  • 注册Docker地址
-- 1安装依赖包
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
-- 2docker安装地址
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 docker-buildx-plugin docker-compose-plugin
  • 确认

  • 启动docker

sudo systemcli start docker
  • 检查
sudo docker images
  • 设置开机自启
sudo systemctl enable docker

2.配置阿里云镜像加速

  • 阿里云官网https://www.aliyun.com/activity/2024purchase/purchasing_v2/

  • 容器镜像服务/镜像加速器/centos

3.docker安装MYSQL

(1).指定版本下载

sudo docker pull mysql:5.7
// 不加冒号,现在最新版本
// 从docker官网搜索mysql,查看标签

2.检查镜像

sudo docker images

(3).启动容器

  • 在docker中启动一个容器,创建实例并启动
  • 每run 一下,就启动一个容器,容器间隔离
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 端口
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码
-d mysql:5.7 -d以后台方式运行,使镜像 mysql:5.7 启动容器
--name 设置容器名
/ 换行标
-e 改变一些参数
-v 将mysql的目录表挂载在 Linux外部位置,在外部可见
  • 切换 root 用户
su root
whoami //那个用户

(4).查看docker中容器

所有容器:docker images
正在运行的容器:docker ps

(5).进入docker中的某个容器(以交互模式)

docker exec -it containerID/容器名 /bin/bash
  • 参数说明
    • /bin/bash:bash控制台

(6).测试连接mysql

  • 使用navicat做链接测试

  • 通过容器的 mysql 命令行工具连接

docker exec -it mysql mysql -uroot -proot
  • 设置 root远程访问
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;

(7).进入mysql容器,并配置

  • 查看mysql安装位置
whereis mysql
-- 
mysql: 
/usr/bin/mysql 
/usr/lib/mysql 
/etc/mysql 配置文件
/usr/share/mysql
  • 进入配置文件
vi /mydata/mysql/conf/my.cnf
  • 按 i 进入插入模式
  • 插入配置,修改编码集,默认为拉丁
[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 保存退出
esc -> shift+: -> wq

(8).重启容器

-- 查看
docker ps
-- 重启
docker restart 容器名
-- 查看文件
cat 文件名

4.docker安装Redis

(1)下载最新版Redis

docker pull redis

(2)创建实例并启动

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-server加载redis.conf的方式启动

-d 后台运行
  • 实例前注意事项
redis.conf 配置文件实际是不存在的,需要在外部创建配置文件,再通过-d进行挂载
  • 实例前准备
-- 创建目录
mkdir -p /mydata/redis/conf
-- 进入目录
cd /mydata/redis/conf/
-- 创建redis.conf
touch redis.conf

(3) 使用 redis 镜像执行 redis-cli 命令测试连接

docker exec -it redis redis-cli

(4)redis持久化

-- 
pwd
-- 列表
ls
-- 修改文件
vi redis.conf
  • 添加 AOF 策略
appendonly yes
  • 重启redis容器
docker restart redis

开发环境统一配置

1.Maven

  • setting.xml 配置
-- 配置阿里云镜像
<mirrors>
    <mirror>
    <id>nexus-aliyun</id>
    <mirrorOf>central</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
</mirrors>
-- 配置 jdk1.8编译项目 可以不配
<profiles>
    <profile>
        <id>jdk-1.8</id>
        <activation>
            <activeByDefault>true</activeByDefault>
            <jdk>1.8</jdk>
        </activation>
        <properties>
            <maven.compiler.source>1.8</maven.compiler.source>
            <maven.compiler.target>1.8</maven.compiler.target>
            <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
        </properties>
    </profile>
</profiles>

2.Idea&VsCode

  • idea
安装 lombok、mybatisx 插件
  • VsCode
Vetur —— 语法高亮、智能感知、Emmet 等
包含格式化功能, Alt+Shift+F (格式化全文),Ctrl+K Ctrl+F(格式化选中代码,两个 Ctrl
需要同时按着)
EsLint —— 语法纠错
Auto Close Tag —— 自动闭合 HTML/XML 标签
Auto Rename Tag —— 自动完成另一侧标签的同步修改
JavaScript(ES6) code snippets — — ES6 语 法 智 能 提 示 以 及 快 速 输 入 , 除 js 外 还 支
持.ts,.jsx,.tsx,.html,.vue,省去了配置其支持各种包含 js 代码文件的时间
HTML CSS Support —— 让 html 标签上写 class 智能提示当前项目所支持的样式
HTML Snippets —— html 快速自动补全
Open in browser —— 浏览器快速打开
Live Server —— 以内嵌服务器方式打开
Chinese (Simplified) Language Pack for Visual Studio Code —— 中文语言包

3.安装配置 git

  • 详情见
https://blog.csdn.net/weixin_53903929/article/details/130624274

4.使用Git初始化仓库

  • 使用idea将项目交给 Git 进行版本控制

5.创建各个微服务项目

  • 创建5个模块
商品服务、仓储服务、订单服务、优惠券服务、用户服务
  • 相同点
1、web、openfeign
2、每一个服务,包名 com.lfg.xxx(product/order/ware/coupon/member)
3、模块名:glmall

6.使用Maven整合模块

  • 从模块中copy pom.xml
在glmall中添加pom.xml文件
  • 修改
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.lfg.glmall</groupId>
    <artifactId>glmall</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>glmall</name>
    <description>整合服务</description>
    <!-- 类型 -->
    <packaging>pom</packaging>
    <!-- 整合 -->
    <modules>
        <module>coupon</module>
        <module>member</module>
        <module>order</module>
        <module>product</module>
        <module>ware</module>
    </modules>
</project>

7.修改glmall中gitgnore模版

-- 忽略提交的文件
# glmall下的任意mvnw
**/mvnw
**/mvnw.cmd
**/.mvn
**/target/

# 同级的文件夹
.idea
**/.gitignore

8.提交、推送初始化项

容器设置跟随虚拟机重启

-- 查询docker中所所有容器
docker ps -a
-- 设置容器自动启动 
docker update 容器名 --restart=always
-- 重启虚拟机测试
-- 查看某个容器日志
docker logs -f 容器名
  • 26
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咸鱼不咸鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值