先安装配置最小的centos7虚拟机,或者使用正常的云服务器
不是虚拟机,可跳过以下步骤
一,配置虚拟机网络
第⼀步:进⼊⽬录修改 IP 配置:
cd /etc/sysconfig/network-scripts #进⼊⽹络配置⽬录
dir ifcfg* # 找到⽹卡配置⽂件,会出现以 ifcfg开头的⽂件,不同虚拟机的此⽂件
名称可能不同
ifcfg-eno16777736 ifcfg-lo
vi ifcfg-eno16777736 #注意不同虚拟机的此⽂件名称可能不同,不修改ifcfg-lo
第⼆步:修改配置⽂件内容:
BOOTPROTO=static #改成static,针对NAT
ONBOOT=yes #开机启动此⽹卡
IPADDR=192.168.209.101 #固定IP地址,注意前三位必须是和⽹关的前三位⼀
致!最后⼀位任意
NETMASK=255.255.255.0 #⼦⽹掩码
GATEWAY=192.168.209.2 #⽹关和NAT⾃动配置的相同,不同则⽆法登录
DNS1=192.168.209.2 #和⽹关相同
第三步:重启⽹络
ip addr #查看IP地址
systemctl restart network.service #重启⽹络centos7
ip addr #再次查看IP地址
第四步:修改 hostname
vi /etc/hosts #只保留 127.0.0.1 主机名 例如:127.0.0.1 lrj
vi /etc/hostname #删除已有的host.locahos ,写上⾃⼰的主机名 例如:lrj
第五步:测试能否ping通外⽹
ping www.baidu.com
ctrl+z #键盘,停⽌
连接xshell
第⼀步:安装上传下载组件
yum install lrzsz #安装上传下载组件
uname –a #检查当前Linux内核版本
第⼆步:关闭防⽕墙
systemctl stop firewalld.service #关闭防⽕墙服务
systemctl disable firewalld.service #禁⽌防⽕墙开启启动
firewall-cmd --state #查看默认防⽕墙状态(关闭后显示notrunning,开启后显示
running)
二 更新yum源
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.bak #备份服务器原有的yum源文件
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#获取阿里yum源配置文件,其他镜像源百度搜一下
yum makecache #生成yum源缓存
yum -y update #更新
三 安装docker
yum install -y yum-utils device-mapper-persistent-data lvm2 #安装依赖包
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#设置远程仓库
yum install docker-ce 安装docker
systemctl start docker #开启
systemctl enable docker #加入开机启动
docker version #有client和service两部分表示docker安装启动都成功了
四 docker加速
Vi /etc/docker/daemon.json #一般一开始没有这个文件
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
]
}
除了以上三个地址,还可以去https://cr.console.aliyun.com/申请自己的专属地址,加入其中
sudo systemctl daemon-reload
sudo systemctl restart docker #重启docker
docker info #看最下方几行地址,看是否生效
如果报错,检查下刚才的文件内容是否有错
五 安装MySQL
docker pull mysql #拉取镜像
docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql #启动
• -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
• -v -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
• -v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。
• -v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。
• -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
如果报:Error starting userland proxy: listen tcp 0.0.0.0:3306: bind: address already in use.错误
因为本地安装了MySQL,3306被占用
docker ps -a #查看所有镜像(包括未运行的)
docker rm (容器id)#删除对应的MySQL容器,再运行
docker run -p 3308:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
其中3308(或者你自己设置的其他端口)为工具连接MySQL的端口
如果想运行多个MySQL,改个端口,名称。在运行即可
如果连接MySQL报1251错误
docker ps #查看相应容器id
docker exec -it (容器id)bash #进入容器 bash为后台运行
mysql -uroot -p #进入MySQL
mysql> GRANT ALL ON *.* TO 'root'@'%'; #授权
mysql> flush privileges; # 刷新权限
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #更新加密规则
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; #更新root用户密码
mysql> flush privileges; # 刷新权限