0
点赞
收藏
分享

微信扫一扫

安装docker及MySQL教程

流沙雨帘 2022-05-04 阅读 86
dockermysql

先安装配置最小的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; # 刷新权限

举报

相关推荐

0 条评论