Docker+Kubernetes


文章目录

  • Docker+Kubernetes
  • 第2章 Docker的镜像
  • 2.2 使用Docker的公有镜像仓库
  • 2.2.1 【实战】访问Docker官方的公有镜像仓库


第2章 Docker的镜像

2.2 使用Docker的公有镜像仓库

存储Docker 镜像的地方就是 镜像仓库。

镜像仓库分为:

  • 公有镜像仓库
  • 私有镜像仓库
2.2.1 【实战】访问Docker官方的公有镜像仓库

Docker官方 提供了一个公有镜像仓库 Docker Hub。

在通过Docker 客户端操作Docker 时,如果没有指定镜像仓库的地址,则默认使用 该镜像仓库的地址。

Docker Hub 网址:

https://hub.docker.com/

Docker Hub 主页:

kubernets 拉取远程镜像 kubernetes 镜像仓库_kubernetes

使用Docker Hub 步骤:

【1】使用 “docker search ” 命令 搜索镜像仓库中的一个 镜像,如MySQL

docker search mysql

kubernets 拉取远程镜像 kubernetes 镜像仓库_容器_02

【2】使用“ docker pull” 命令拉取 MySQL 的镜像,如果在拉取时,没有指定版本,则默认拉取最新版本的镜像。也可以自己 在拉取时指定版本 ,如拉取 mysql:5.7.19

docker pull mysql:5.7.19

kubernets 拉取远程镜像 kubernetes 镜像仓库_kubernetes_03

【提示】

拉取命令默认从 国外的Docker Hub 上拉取镜像。因此,在国内访问Docker Hub时,一般会配置国内的镜像加速器。

【后面细说】

kubernets 拉取远程镜像 kubernetes 镜像仓库_kubernetes_04

确实很慢…

kubernets 拉取远程镜像 kubernetes 镜像仓库_Docker_05

OK,终于拉下来了

kubernets 拉取远程镜像 kubernetes 镜像仓库_kubernetes_06

换了存储路径后,之前pull 的就不算了

【3】用拉取的 MySQL 镜像创建一个 容器,用来运行 MySQL 数据库

docker run --name my_mysql -p 2206:3306 \
-e MYSQL_ROOT_PASSWORD=Welcom_1 \
-d mysql:5.7.19

参数说明:

  • -p:2206 表示宿主机的端口号;3306 表示容器的端口号。这里是将容器的3306 端口映射到了宿主机的 2206 端口。
  • -e:传递一个变量给容器。这里通过变量 MYSQL_ROOT_PASSWORD 设置了MySQL 的root 用户的密码为 Welcom_1

kubernets 拉取远程镜像 kubernetes 镜像仓库_Docker_07

【4】使用 MySQL 客户端工具,比如Navicat ,连接MySQL 试试

kubernets 拉取远程镜像 kubernetes 镜像仓库_docker_08

好家伙,直接就成功了

kubernets 拉取远程镜像 kubernetes 镜像仓库_docker_09

这就是 容器那个 MySQL 了

【提示】

如果出现不能连接的情况,可能是没有允许root 用户远程登录导致的,按照下面的步骤进行解决

① 使用Docker 命令进入容器

docker exec -it 容器ID /bin/bash

kubernets 拉取远程镜像 kubernetes 镜像仓库_docker_10

其中-it 表示启动一个虚拟的 标准输入终端。

② 在命令行 登录MySQL

mysql -u root -pWelcom_1

kubernets 拉取远程镜像 kubernetes 镜像仓库_容器_11

③ 在MySQL 的命令行中执行以下命令允许 root 用户远程登录

grant all privileges on *.* to root@"%" identified by "Welcom_1" with grant option;

这样再试一次,不出意外就可以了