Docker镜像基础操作(三)
场景描述
镜像操作项:
- 查找DockerHub远程仓库镜像
- DockerHub上下载镜像文件到本地
- 查看本地有哪些镜像文件
- 本地镜像文件Build
- 上传本地镜像文件到DockerHub
一、查看本地有哪些镜像
字段介绍
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小
二、搜索DockerHub镜像文件
在DockerHub网站上搜索自己需要的镜像,可以在网站上搜索。DockerHub网址: https://hub.docker.com/
我们还可以使用 docker search命令搜索镜像。
搜索mysql镜像文件
- docker search mysql
字段介绍
- NAME:镜像仓库源的名称
- DESCRIPTION:镜像的描述
- OFFICIAL:是否docker官方发
三、获取DockerHub仓库镜像文件
获取镜像文件有两种方式:
- 在本地使用一个不存在的镜像文件,docker会自动下载这个文件。
- 预先下载镜像文件,使用docker pull
我们使用 docker pull 下载上面查询到的mysql 镜像文件
四、创建镜像方式一
当我们在Container容器中安装工具,配置文件,不做commit保存。Container停止后再启动,这些配置信息就消失了。
如果想要保留更改的内容,我们需要将改Container创建为新的目标镜像文件。
创建目标镜像文件步骤
- 启动镜像文件的容器
docker create -it --name commitjava java /bin/bash
docker start commitjava
- 进入容器输入 exec命令
docker exec -it 64725055988e /bin/bash
- 退出容器 exit
- 提交容器 docker commit
docker commit -m="has update container java" -a="bruce" 64725055988e myjava
字段说明
-m:提交的描述信息
-a:指定镜像作者
e218edb10161:容器ID
runoob/ubuntu:v2:指定要创建的目标镜像名
查看创建的镜像
docker images
启动镜像文件容器
#启动容器并查看容器目录 docker run -it myjava ls
容器中显示新建的mytest文件夹,表示我们创建的镜像成功了。
五、创建镜像方式二
上面创建镜像方式优点是方便快捷,但是缺点是不规范,无法自动化打包部署。
因此采用第二种方式 docker build 创建镜像文件。
- 创建一个docker file 文件
vim Dockerfile
Dockerfile文件中写入build要做的事情,保存文件。
- 执行build命令创建一个镜像
【执行build命令和Dockerfile文件在同一个目录下,命令后面写点表示当前目录。如果不在同一个
目录下,需要写Dockerfile具体的路径。不然build命令找不到Dockerfile文件会报错】
docker build -t myjava . # -t :指定要创建的目标镜像名 # . : Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径
Dockerfile文件字段简单介绍 (官网文档)