Docker中怎么样制作镜像
导读:本文共2828.5字符,通常情况下阅读需要9分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 前言以制作CentOS镜像为例,讲述对镜像自定义,打包以及推送的远程仓库的过程,步骤都比较简单可以快速上手。创建步骤创建CentOS基础镜像创建构建目录和Dockerfile,在Dockerfile中编辑镜像相关设置。echo"在当前用户目录下创建创建目录docker/build/centos_7.8.2003">/dev/nullm... ...
目录
(为您整理了一些要点),点击可以直达。前言
以制作CentOS镜像为例,讲述对镜像自定义,打包以及推送的远程仓库的过程,步骤都比较简单可以快速上手。
创建步骤
创建CentOS基础镜像
创建构建目录和Dockerfile,在Dockerfile中编辑镜像相关设置。
echo"在当前用户目录下创建创建目录docker/build/centos_7.8.2003">/dev/nullmkdir-p~/docker/build/centos_7.8.2003echo"创建Dockerfile到~/docker/build/centos_7.8.2003目录下">/dev/nullcat>~/docker/build/centos_7.8.2003/Dockerfile<<EOF#指定基础镜像FROMcentos:7.8.2003#设置环境变量ENVLANG=zh_CN.UTF-8\\LANGUAGE=zh_CN:zh\\LC_ALL=zh_CN.UTF-8#只在构建镜像的时候执行这些shell指令RUNyumupdate-y&&\\yumreinstall-yglibc-common&&\\yuminstall-ytelnetnet-tools&&\\yumcleanall&&\\rm-rf/tmp/*rm-rf/var/cache/yum/*&&\\localedef-c-fUTF-8-izh_CNzh_CN.UTF-8&&\\ln-sf/usr/share/zoneinfo/Asia/Shanghai/etc/localtimeEOF
参考菜鸟教程 - docker build构建镜像,格式为docker build -t <镜像名>:<镜像版本号> <Dockerfile所在目录>
,不写镜像版本号默认latest
。
#解析~/docker/build/centos_7.8.2003/Dockerfile构建名为base-centos的镜像dockerbuild-tbase-centos~/docker/build/centos_7.8.2003
构建完成后可以在本地镜像列表中看到,使用的基础镜像和构建生成的新镜像。
dockerimages
创建容器并自定义
使用使用新镜像创建并进入容器,这个容器就是一个虚拟CentOS系统。
echo"用base-centos镜像创建容器,并命名为base-centos">/dev/nulldockerrun\--namebase-centos\--privileged=true\-dit\base-centos\/usr/sbin/initecho"进入centos容器">/dev/nulldockerexec-itbase-centos/bin/bash
对容器中虚拟系统自定义,比如安装常用的工具。其实这些也是可以写在Dockerfile中的,定义在RUN指令后。
echo"vim:编辑文件">/dev/nullyuminstall-yvimecho"lsof:方便查看端口信息">/dev/nullyuminstall-ylsofecho"wget:文件下载">/dev/nullyuminstall-ywgetecho"tree:查看目录结构">/dev/nullyuminstall-ytreeecho"安装python">/dev/nullyuminstall-ypython-develecho"C的编译环境">/dev/nullyuminstall-ygccgcc-c++yuminstall-yzlibyuminstall-yzlib-develyuminstall-ytclbuild-essentialtkgettext
以自定义容器创建新镜像
命令格式为docker commit <容器名称或者ID> <生成的镜像名>:<镜镜像版本号>
,不写镜像版本号默认latest
。创建时这个容器也可以是停止状态。
dockercommitbase-centoscentos:7.8.2003_v1
到此镜像就创建完成了,在镜像列表可以看到新镜像。
保存、加载镜像tar包
将镜像保存为tar包,格式为docker save -o <文件名> <镜像名>:<镜像标签>
,参考菜鸟教程 - docker save。
dockersave-o~/docker/build/centos_7.8.2003/centos_7.8.2003.tarcentos:7.8.2003_v1
加载tar包生成镜像。
dockerload--input~/docker/build/centos_7.8.2003/centos_7.8.2003.tar
已存在重复镜像执行加载命令无效。
将镜像推送到远程仓库
docker登陆远程仓库。格式为docker login --username=<用户名> <仓库地址>
或者docker login -u <用户名> -p <密码> <仓库地址>
。
docker tag <镜像ID> <远程镜像仓库地址>:<镜像版本号>
标记后。
echo"标记镜像地址和版本号">/dev/nulldockertag66b1bc81e1f2registry.cn-shanghai.aliyuncs.com/exposure/centos:7.8.2003_v1
docker push <远程镜像仓库地址>:<镜像版本号>
推送到远程仓库。
echo"推送到远程仓库">/dev/nulldockerpushregistry.cn-shanghai.aliyuncs.com/exposure/centos:7.8.2003_v1
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
Docker中怎么样制作镜像的详细内容,希望对您有所帮助,信息来源于网络。