从零使用docker并安装部署mysql8.3.0容器

在开始使用docker到完成mysql的安装部署,中间有很多的坑等着

安装docker并配置

sudo yum install docker-ce

启动docker并设置开机启动项

sudo systemctl start docker
sudo systemctl enable docker

查看docker是否启动

sudo systemctl status docker

或者直接docker image也可以验证

但是docker无法pull镜像到本地,我这一直显示443

找了很多办法,最后其实还是改第三方镜像源地址

打开并编辑配置文件

vi /etc/docker/daemon.json

按i进行编辑 配置内容

{
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.1panel.live/"
  ]
}

修改后,按Esc,再输入 :wq 保存

重新加载docker配置并重启docker服务

sudo systemctl daemon-reload
sudo systemctl restart docker

这样docker 就能够正常的拉取images了

安装部署mysql8.3.0

docker pull mysql:8.3.0

查看mysql镜像是否安装

docker images mysql:8.3.0

创建挂载目录

mkdir -p  /home/mysql/{conf,data,log}
cd /home/mysql/conf
vim my.cnf

修改my.conf文件

[client]
#设置客户端默认字符集utf8mb4
default-character-set=utf8mb4
[mysql]
#设置服务器默认字符集为utf8mb4
default-character-set=utf8mb4
[mysqld]
#配置服务器的服务号,具备日后需要集群做准备
server-id = 1
#开启MySQL数据库的二进制日志,用于记录用户对数据库的操作SQL语句,具备日后需要集群做准备
log-bin=mysql-bin
#设置清理超过30天的日志,以免日志堆积造过多成服务器内存爆满。2592000秒等于30天的秒数
binlog_expire_logs_seconds = 2592000
#解决MySQL8.0版本GROUP BY问题
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
#允许最大的连接数
max_connections=1000
# 禁用符号链接以防止各种安全风险
symbolic-links=0
# 设置东八区时区
default-time_zone = '+8:00'

修改方式和上面一样 输入i 进行编辑 ,按esc  :wq 保存并退出

启动运行

docker run \
-p 3306:3306 \
--restart=always \
--name mysql \
--privileged=true \
-v /home/mysql/log:/var/log/mysql \
-v /home/mysql/data:/var/lib/mysql \
-v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.3.0  

password=root那里可以自定义,是mysql的密码

验证mysql8.3.0是否正常运行

docker ps -a

看status那里,如果是up就说明正在运行中,如果是restart或者Exit的就说明启动失败

输入 docker logs 94ededaf181b 查看报错信息,后面的这一串指的是容器的id

好了,这就是实现的全部内容了,goodbey

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值