1. 创建虚拟机
-
安装 Oracle VM VitualBox
-
安装 vagrant
-
安装 镜像 CS/7
vagrant init centos/7 //拉取镜像 vargant up // 下载
注意:
Vagrant 爆出 UndefinedConversionError 错误
参考
原文链接:https://blog.csdn.net/weixin_44655599/article/details/112913219
2. 在命令控制它
使用 CTRL + C 中断
使用 vagrant ssh 用户 进行登录
然后 可以使用LINUX 的相关命令
vagrant whoami // 当前那个用户
ls/ // 当前根目录
exit // 退出
up // 启动
必须 确定存在 .vagrantFile
注意软件冲突
红蜘蛛 360 净网大师等 需要注意
3. 绑定主机 进行映射端口
首先 通过命令行控制台 ipconfig 找到虚拟机 Virtual BOX 的网卡配置
找到IPv4的ip地址
找到 vagrant的 hp/vagrantFile
打开文件后 找到
config.vm.network "private_network", ip: "192.168.1.179
将ip 换成 Virtual BOX 的 ip
修改后 重新启动虚拟机 vagrant reload
无线局域网 WLAN 是windox 的模块
4. 往虚拟机中安装Docker
什么是Docker?
虚拟化容器技术,Docker基于镜像,可以秒级启动各种容器。每一种容器都是一个完整的运行环境,容器之间互相隔离。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2cTcu0At-1634015053459)(C:\Users\hp\AppData\Roaming\Typora\typora-user-images\image-20211010182628657.png)]
第一步
先卸载 之前安装的东西
sudo
以超级管理员的方式
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
第二步 设置存储仓库
设置存储库
安装yum-utils包(提供yum-config-manager 实用程序)并设置稳定存储库。
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
第三步 安装 Docker 引擎
安装最新版本的 Docker Engine 和 containerd,或者进入下一步安装特定版本:
$ sudo yum install docker-ce docker-ce-cli containerd.io
第四步 启动 Docker
sudo systemctl start docker
第五步
通过运行hello-world
映像验证 Docker Engine 是否已正确安装。
$ sudo docker run hello-world
第六步 设置开机自启
开机自动启动 docker Linux下
sudo systemctl enable docker
第七步 配置镜像加速
首先 打开 阿里云
进入自己的控制台
然后打开 目录第一个下 容器镜像服务
然后目录三 镜像工具 -》 镜像加速器
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
-
首先 创建一个目录 mkdir
-
其次 配置镜像地址
-
重启 docker后台线程
-
重启 docker的服务
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://leppzjul.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
第八步 下载 mysql|redis
sudo docker pull mysql:5.7
sudo docker pull redis
使用 sudo docker images检查镜像
创建相关实例 并 匹配端口号
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 ps 正在运行的命令
理解:
docker 容器文件挂载 与端口映射
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AoYHRCwF-1634015053464)(C:\Users\hp\AppData\Roaming\Typora\typora-user-images\image-20211010194145635.png)]
每个 docker run一下 就是启动一个新的容器 相互隔离
首先 mysql 通过docker 隔离 放入一个完整的容器中
mysql: /usr/bin/mysql /usr/lib/mysql /etc/mysql /usr/share/mysql
然后 etc 是配置文件下有关的配置文件
log 是配置的 日志文件下
docker run -p 3306:3306 --name mysql \
将linux3306端口号映射到 windox下的3306端口号
-v /mydata/mysql/log:/var/log/mysql \
可以理解为 快捷方式
-v又称做 目录挂载 使用这个 就是 相同的文件目录下进行挂在 可以通过 外部看到相关的信息
- 挂在了 etc log 以及 lib mysql数据
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e 是改变文件参数
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
我们可以验证一下
进入 mysql 容器内部
-it 交互模式
docker exec -it mysql /bin/bash
相当于进入到了 mysql的 控制台
执行结果 左边会有 root@xxxx地址
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-klpPlqem-1634015053467)(C:\Users\hp\AppData\Roaming\Typora\typora-user-images\image-20211010194036733.png)]
可以使用 ls / 整个目录结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1koPHkYx-1634015053471)(C:\Users\hp\AppData\Roaming\Typora\typora-user-images\image-20211010194325133.png)]
可以 使用 whereis mysql验证一下
进入mysql conf的文件夹下 配置 mysql的内部编码按格式
[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 改在目录
$ docker inspect container_name | grep Mounts -A 20
lation_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 改在目录
$ docker inspect container_name | grep Mounts -A 20