五、使用三种方式创建Docker镜像
创建镜像的三方法方式
创建镜像有的主要方法有三种:基于已有的镜像容器创建、基础本地模板导入、基础Dockerfile创建。
基础已有容器创建
语法
docker [container] commit [options] container [repository[:tag]]
[options]
- -a,--author="":作者信息
- -c, --change=[]:提交时执行Dockerfile指令,包括CMD|ENTRYPOINT|ENV|EXPOSE|LABEL|ONBUILD|USER|VOLUME|WORKDIR等
- -m,--message="":提交信息
- -p,--pause=true:提交时暂时容器运行
案例
首先,pull一个centos
docker pull centos
其次,运行centos
docker run -it centos /bin/bash
# 创建空文件
touch test.txt
exit
其三,创建容器
docker container commit -m '新容器,新文件' -a '自如初' b95d19d52a79 test:1.0
docker image ls
注意,这里的id为容器运行时的ID
导入本地模板文件
可以从一个操作系统模板文件导入一个镜像
语法
docker [image] import [options] file|url| - [REPOSITORY [:TAG]]
案例
首先,在/usr/local/src目录导入nginx1.17.4源码包
其次,使用docker导入
cat nginx-1.17.4.tar.gz | docker import - nginx:1.17.4
# 或
cat nginx-1.17.4.tar.gz | docker image import - nginx:1.17.4_1
基础Dockerfile创建
基础Dockerfile创建是最常见的方式。Dockerfile是一个文本文件,利用给定的指令描述基于某个父镜像创建新镜像的过程。
关于Dockerfile创建,这里暂时不记录,后续会写一篇Dockerfile详细学习记录的文章。
存出与载入镜像
导出镜像
想要把镜像导入到本地文件,那么可以使用docker save命令。
docker save:将指定镜像保存成tar归档文件。
语法
docker save [options] IMAGE [IMAGE...]
[options]
- -o 导出镜像到指定文件
案例
# 当前路径 /usr/local/src
docker save -o centos.tar centos
# 释义:此命令是将centos镜像打包成***.tar文件保存在当前目录下
# 将镜像导出到指定位置
docker image save -o /usr/local/centos.tar.gz centos
# 释义:/usr/local/centos.tar.gz 打包成压缩文件的文件名
# centos 原镜像文件
导入镜像
docker local:导入使用docker save命令导出的镜像
语法
docker [image] load [options]
[options]
- -i 指定导入的文件
- -q 精简输出信息
案例
docker image load -i test.tar.gz
# 或
docker image load < test.tar.gz
请登录后再评论