朋友汤行长对于虚拟机以及Docker环境配置的安装记录及记录的心得,我帮他记录下来
项目目录中创建一个 Vagrantfile,内容如下:
Vagrant.configure("2") do |config|
# 定义虚拟机数量
(1..2).each do |i|
config.vm.define "centos#{i}" do |node|
# 使用 CentOS 7 镜像
node.vm.box = "centos/7"
# 设置虚拟机的主机名
node.vm.hostname = "centos#{i}"
# 配置 NAT 网络模式,并指定静态 IP 地址
node.vm.network "private_network", ip: "192.168.10.#{100 + i}"
# 配置 VirtualBox 虚拟机名称
node.vm.provider "virtualbox" do |vb|
vb.name = "centos#{i}"
vb.memory = "2048" # 内存大小
vb.cpus = 1 # CPU 核心数
end
end
end
end
------------------------------------------------------------------------------------------------------------------
执行sudo yum install -y yum-utils命令报错
sudo vi /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
baseurl=http://vault.centos.org/7.9.2009/os/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[updates]
name=CentOS-$releasever - Updates
baseurl=http://vault.centos.org/7.9.2009/updates/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-$releasever - Extras
baseurl=http://vault.centos.org/7.9.2009/extras/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
sudo yum clean all
sudo yum makecache
1. 安装/升级Docker客户端
推荐安装1.10.0以上版本的Docker客户端,参考文档docker-ce
2. 配置镜像加速器
针对Docker客户端版本大于 1.10.0 的用户
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://rlupudih.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
-----------------------------------------------------------------------------------------------------
先创建文件夹
mkdir -p /mydata/mysql/conf/conf.d
mkdir -p /mydata/mysql/conf/mysql.conf.d
(MySQL 容器在启动时会加载以下配置文件:
/etc/mysql/my.cnf:主配置文件。
/etc/mysql/conf.d/:额外的配置文件目录。
/etc/mysql/mysql.conf.d/:MySQL 特定的配置文件目录。
如果你挂载了 /mydata/mysql/conf 到 /etc/mysql,但没有创建 conf.d 和 mysql.conf.d 子目录,MySQL 容器可能会因为找不到这些目录而启动失败。
)
sudo docker run -p 3306:3306 --name mysql5.7 -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql-files -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=237237 -d mysql:5.7
sudo docker run -p 3306:3306 --name mysql5.7\
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-v /mydata/mysql/mysql-files:/var/lib/mysql-files \
-e MYSQL_ROOT_PASSWORD=237237 \
-d mysql:5.7
sudo docker run -p 3306:3306 --name mysql5.7\
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=237237 \
-d mysql:5.7
---------------------------------------------------------------------------------------------------------------------
1.通过 vagrant ssh 登录虚拟机。
2.编辑 SSH 配置文件:
bash
复制
sudo vi /etc/ssh/sshd_config
3.确保以下配置项正确:
bash
复制
PasswordAuthentication yes # 允许密码登录
PermitRootLogin yes # 允许 root 登录(如果需要)
4.保存并退出编辑器,然后重启 SSH 服务:
bash
复制
sudo systemctl restart sshd
5.再次尝试使用 FinalShell 连接。
sudo docker exec -it mysql /bin/bash 成功进入了 MySQL 容器的 Bash Shell,mysql -u root -p操作mysql
sudo docker restart mysql
通过docker update --restart=always 容器名称 命令可以设置Docker中的mysql、redis等容器自动启动。
sudo docker run -p 3306:3306 --name mysql5.7 \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-v /mydata/mysql/mysql-files:/var/lib/mysql-files \
-e MYSQL_ROOT_PASSWORD=237237 \
-d mysql:5.7
sudo docker run -p 3306:3306 --name mysql5.7 \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql-files \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=237237 \
-d mysql:5.7
浙公网安备 33010602011771号