安装docker,docker安装mysql~

1,比较旧的 Docker 版本称为 docker 或 docker-engine ,如果已安装这些程序,请卸载它们以及相关的依赖项。

yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine

安装Dcoker依赖环境
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库,之后,您可以从仓库安装和更新 Docker

yum install -y yum-utils
device-mapper-persistent-data
lvm2

如果执行上面的命令报异常,可以参考centos8安装docker 遇到yum install -y yum-utils报错问题解决

设置 Docker 安装地址
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库,之后,您可以从仓库安装和更新 Docker,使用以下命令来设置稳定的仓库(阿里云)

sudo yum-config-manager
–add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装 Docker Engine-Community
安装最新版本的 Docker Engine-Community 和 containerd

sudo yum install -y docker-ce docker-ce-cli containerd.io

如果提示您接受 GPG 密钥,请选是。
Docker 安装完默认未启动,并且已经创建好 docker 用户组,但该用户组下没有用户。

Docker 镜像加速
阿里云镜像获取地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors,登陆后,左侧菜单选中镜像加速器就可以看到你的专属地址了:
在这里插入图片描述
配置daemon.json
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF’
{
“registry-mirrors”: [“https://xxxxx.mirror.aliyuncs.com”]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

启动Docker

service docker start

验证Docker服务
通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community

docker run hello-world

运行该代码后首先会从仓库拉取hello-world镜像,然后运行该镜像,运行后会输出一个Hello from Docker!
在这里插入图片描述
开启Docker自动补全
使用docker时无法自动补全镜像名和其他参数,这样使用效率大大降低,下面是解决方法:
bash-complete

yum install -y bash-completion

刷新文件

source /usr/share/bash-completion/completions/docker
source /usr/share/bash-completion/bash_completion

测试
输入docker p后docker会将可选项列出来

docker p

在这里插入图片描述
Docker架构
Docker总体架构为c/s架构,模块之间松耦合,包含了Client, Daemon, Registry, Graph, Driver, Libcontainer以及Docker Container

在这里插入图片描述
Docker得组件

  1. Docker Client 是用户界面,它支持用户与Docker Daemon之间通信
  2. Docker Daemon Docker最核心的后台进程,运行于主机上,处理服务请求
  3. Docker registry是中央registry,支持拥有公有与私有访问权限的Docker容器镜像的备份
  4. Docker Containers负责应用程序的运行,包括操作系统、用户添加的文件以及元数据
  5. Docker Images是一个只读模板,用来运行Docker容器
  6. DockerFile是文件指令集,用来说明如何自动创建Docker镜像

----------------------------docker安装完成,下面安装以docker方式安装mysql------------------------------
安装mysql
查找mysql镜像
我们可以使用 docker search 镜像名称,命令来搜索镜像

docker search mysql

在这里插入图片描述
参数解释
搜索出来的有这么多镜像,怎么选择呢

  1. NAME: 镜像仓库源的名称
  2. DESCRIPTION: 镜像的描述
  3. OFFICIAL: 是否 docker 官方发布
  4. stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。
  5. AUTOMATED: 自动构建。

根据参数,我们一般选择 官方发布的,并且stars多的。

下载镜像
可以使用docker pull 镜像名称来拉取镜像,我们选择了第一个Mysql的镜像,我们把它给拉取下来

docker pull mysql

在这里插入图片描述
注意事项

  1. 如果不写版本号默认拉取最新的版本好latest。
  2. 拉取的时候是多个层一起拉取的,这样可用让其他镜像复用分层
  3. 如果拉取的镜像不写仓库地址默认就是docker.io/library/

下载指定版本的镜像
我们上面下载的镜像不符合我们的预期,我们需要Mysql5.7的镜像

查找指定镜像
可以登录 https://hub.docker.com 地址搜索镜像
在这里插入图片描述
输入需要搜索的镜像名称,并选择对应镜像名称
在这里插入图片描述
选择tag标签,这个就是版本的信息
在这里插入图片描述
找到符合的版本 的mysql镜像,这里我们选择5.7.33
在这里插入图片描述
下载指定版本镜像
刚才我们已经找到了5.7.33版本的Mysql的镜像,我们使用docker pull命令下载,镜像后面跟的是tag也就是版本名称

docker pull mysql:5.7.34

在这里插入图片描述
我们发现,我们的新拉取的mysql镜像共用了 部分分层
查看镜像
安装完镜像后,我们需要看一下我们的本地镜像,使用docker images 可用查看本地镜像

docker images

在这里插入图片描述
mysql配置

创建MySQL挂载目录,等会会解释什么是挂载路径

#创建MySQL配置的文件夹
mkdir -p /tmp/etc/mysql
#编辑my.cnf配置文件
vi /tmp/etc/mysql/my.cnf

配置MySQL忽略大小写,在我们创建的MySQL配置文件挂载点的目录的my.cnf文件加入如下内容

[mysqld]
lower_case_table_names=1

创建mysql数据目录

因为默认MySQL启动后他的文件是在容器中的,如果我们删除容器,数据也将会消失,我们需要将数据挂载出来。

#创建mysql存储的目录
mkdir -p /tmp/data/mysql

启动mysql
使用docker run 启动容器

docker run -d -p 3306:3306 -v /tmp/etc/mysql:/etc/mysql/mysql.conf.d/ -v /tmp/data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --name mysql mysql:5.7.38

在这里插入图片描述
到这里mysql已经后台运行了
参数解释

  1. -d:是指容器后台运行,如果不加-d,当用户断开客户端时容器会结束运行
  2. -p:将容器的3306端口映射到主机的3306端口,用来暴漏端口的
  3. -v:这个命令是用来挂载目录的,将本地目录挂载到容器中,这样容器操作的就是本地目录
  4. -e:这个命令是配置环境参数的,这里MYSQL_ROOT_PASSWORD=root指的是用root用户运行mysql,可以登录Docker容器通过ENV命令查看
  5. –name:这个命令是配置Mysql的容器名称的,如果不配置,默认是随机生成的名字

检查mysql运行状态
使用docker ps可以看到运行中的容器

docker ps

执行命令后,我们看到mysql的服务已经起来了
在这里插入图片描述
查看mysql运行日志
现在MySQL容器起来了,并不代表MySQL已经成功启动,我们需要使用docker logs命令查看MySQL的日志

docker logs -f mysql

该命令可以查看容器日志-f是追踪打印日志,可以看到MySQL已经启动了
在这里插入图片描述
这个时候就可以用客户端链接mysql了,注意端口是否开放

查看容器挂载的配置文件
可以通过docker exec -ti mysql /bin/bash命令登录容器,检查挂载的配置文件情况

#登录容器
docker exec -ti mysql /bin/bash

在这里插入图片描述
查看挂载的数据文件

cd /tmp/data/mysql/ && ll
在这里插入图片描述
ok,安装完成

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值