Docker镜像

Docker镜像

1. 什么是Docker的镜像

​ Docker的镜像是一个模板,或者说其是一个只读文件。在该模板中包含应用和应用运行 时所需要的依赖环境。Docker的镜像采用的是分层的文件系统,每一次对镜像的修改将 以“读写层”的形式增加到原来的只读文件的模板上。

​ Docker 默认的镜像存储路径是“/var/lib/docker",也可以自定义其他路径。

2. 使用Docker默认的镜像存储路径

​ 通过执行以下语句可以得知Docker镜像的存储路径,可以看出在默认情况下,Docker将拉取的镜像存储在 "/var/lib/docker"目录下

[root@localhost ~]# docker info | grep "Docker Root Dir"

在这里插入图片描述

2.1 自定义Docker的镜像存储路径

在实际生产环境中,Docker默认的镜像存储路径往往不能满足磁盘空间大小的要求。可以根据以下步骤来修改这个存储路径。

创建新的镜像路径 “/data/docker” ,该路径用于保存Docker的镜像文件

[root@localhost ~]# mkdir -p /data/docer

创建Docker守护进程的配置文件

[root@localhost ~]# cd /etc/docker/
[root@localhost docker]# vim daemon.json

在 deamon.json 文件中输入以下内容

{
"graph": "/data/docker"
}

重新加载Docker的服务,并重启Docker

[root@localhost docker]# systemctl daemon-reload
[root@localhost docker]# systemctl restart docker.service 

重新查看Docker的镜像存储路径,会发现路径变成了“/data/docker”

在这里插入图片描述

  1. 使用Docker的公有镜像仓库

存储Docker 镜像的地方叫作镜像仓库。镜像仓库分为公有镜像仓库和私有镜像仓库。下面来介绍如何使用Docker 公有镜像仓库。

3.1访问 Docker官方的公有镜像仓库

Docker官方提供了一个公有镜像仓库Docker Hub。在通过Docker客户端操作 Docker时,如果没有指定镜像仓库的地址,则默认使用该镜像仓库的地址。

主页网址:https://hub.docker.com

3.2使用Docker Hub

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

[root@localhost docker]# docker search mysql

使用“docker search”命令拉取 MySQL的镜像。如果在拉取镜像时没有指定版本,则默认拉取最新版本的镜像。也可以在拉取时指定版本信息,例如拉取 mysql:5.7.19

[root@localhost docker]# docker pull mysql:5.7.19

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

[root@localhost ~]# docker run --name mysql -p 2206:3306 \
> -e MYSQL_ROOT_PASSWORD=123.123 \
> -d mysql:5.7.19

其中的参数说明如下。

-p:2206表示宿主机的端口号:3306表示容器的端口号。这里是将容器的
3306端口映射到了宿主机的2206端口。

-e:传递一个变量给容器。这里通过变量MYSQL_ROOT_PASSWORD 设置
了MySQL的root用户的密码为 123.123。

查看容器的信息,这里的容器ID

在这里插入图片描述

使用Docker命令进入容器

[root@localhost ~]# docker exec -it 91f263b39a23 /bin/bash

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

登录MySQL数据库时输入密码”123.123“

在这里插入图片描述

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

mysql> grant   all  privileges  on   *.*  to  root@"%"  identified   by  "123.123"  -> with  grant  option;

在这里插入图片描述

现在就可以使用MySOL客户端登录,这时就可以成功访问Docker 容器中的MySQL 数据库了

图片转存中…(img-SiV4RAbn-1700627511649)]\屏幕截图 2023-11-22 122128.png)

现在就可以使用MySOL客户端登录,这时就可以成功访问Docker 容器中的MySQL 数据库了

Docker 中,镜像(Image)是一个轻量级、可执行的软件包,其中包含了运行特定应用程序所需的所有代码、运行时、库、环境变量和配置等信息。Docker 镜像可以看作是一个只读的模板,用于创建容器(Container)。 Docker 镜像可以通过以下几种方式获取: 1. 从 Docker Hub 下载:Docker Hub 是 Docker 官方提供的公共镜像仓库,包含了大量的镜像,可以通过 `docker pull` 命令从 Docker Hub 上下载镜像,例如: ``` docker pull ubuntu:latest ``` 上面的命令将会下载最新版本的 Ubuntu 镜像。 2. 通过 Dockerfile 构建:Dockerfile 是一个文本文件,其中包含了一系列构建镜像的指令和配置信息,可以通过 `docker build` 命令根据 Dockerfile 构建镜像,例如: ``` docker build -t my-image . ``` 上面的命令将会在当前目录下的 Dockerfile 中定义的基础上构建一个名为 `my-image` 的镜像。 3. 从已有容器创建:可以通过 `docker commit` 命令从一个已有的容器中创建新的镜像,例如: ``` docker commit my-container my-image ``` 上面的命令将会创建一个名为 `my-image` 的新镜像,其中包含了 `my-container` 容器的所有修改。 Docker 镜像可以使用 `docker images` 命令查看当前系统中已有的镜像列表,也可以使用 `docker rmi` 命令删除不需要的镜像。在使用 Docker 时,镜像是一个非常重要的概念,通过合理地管理镜像,可以提高应用程序的部署效率和可维护性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值