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 网址:
Docker Hub 主页:
使用Docker Hub 步骤:
【1】使用 “docker search
” 命令 搜索镜像仓库中的一个 镜像,如MySQL
docker search mysql
【2】使用“ docker pull
” 命令拉取 MySQL 的镜像,如果在拉取时,没有指定版本,则默认拉取最新版本的镜像。也可以自己 在拉取时指定版本 ,如拉取 mysql:5.7.19
docker pull mysql:5.7.19
【提示】
拉取命令默认从 国外的Docker Hub 上拉取镜像。因此,在国内访问Docker Hub时,一般会配置国内的镜像加速器。
【后面细说】
确实很慢…
OK,终于拉下来了
换了存储路径后,之前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
【4】使用 MySQL 客户端工具,比如Navicat ,连接MySQL 试试
好家伙,直接就成功了
这就是 容器那个 MySQL 了
【提示】
如果出现不能连接的情况,可能是没有允许root 用户远程登录导致的,按照下面的步骤进行解决
① 使用Docker 命令进入容器
docker exec -it 容器ID /bin/bash
其中-it 表示启动一个虚拟的 标准输入终端。
② 在命令行 登录MySQL
mysql -u root -pWelcom_1
③ 在MySQL 的命令行中执行以下命令允许 root 用户远程登录
grant all privileges on *.* to root@"%" identified by "Welcom_1" with grant option;
这样再试一次,不出意外就可以了