八、docker学习-安装MySQL实战

安装MySQL

MySQL官方docker地址
https://hub.docker.com/_/mysql
拉取镜像
docker pull mysql:5.7.31
备份镜像
docker save mysql:5.7.31 -o mysql.5.7.31.tar
导入镜像
docker load -i mysql.5.7.31.tar
运行镜像
新参数学习

MySQL与nginx这类容器有所不同,需要额外增加一些参数,具体:

自定义环境变了
docker run -e , --env=[]:设置环境变量,容器中可以使用该环境变量,向my.cnf文件中追加相关配置项。
特权模式

--privileged 可以不受限制地访问任何自己的系统调用。在正常的操作中,即使容器内有 root,Docker 也会限制容器的 Linux Capabilities 的,这种限制包括像 CAP_AUDIT_WRITE 这样的东西,它允许覆盖内核的审计日志–你的容器化工作负载很可能不需要这个 Capabilities。所以特权只应该在你真正需要它的特定设置中使用,简而言之,它给容器提供了几乎所有主机(作为root)可以做的事情的权限

本质上,它就是一个免费的通行证,可以逃避容器所包含的文件系统、进程、sockets 套接字等,当然它有特定的使用场景,比如在很多 CI/CD 系统中需要的 Docker IN Docker 模式(在 Docker 容器内部需要 Docker 守护进程),以及需要极端网络的地方。

避免以 root 运行

虽然在容器内以 root 身份运行是很正常的,但如果你想加固容器的安全性,还是应该避免这样做。

运行参数
# 还可以设置编码
docker run -itd --name mysql --restart always --privileged=true -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7.31 --character-set-server=utf8 --collation-server=utf8_general_ci
容器内测试
# 进入容器:根据官网上的实例,使用bash命令进入容器 
docker exec -it mysql bash 
# 登录mysql 
mysql -uroot -p 
# 输入密码 roor 
use mysql; 
show databases; 
# 退出mysql 
exit 
# 退出容器 
exit

在这里插入图片描述

容器外测试

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值