0
点赞
收藏
分享

微信扫一扫

关于Docker入门的一些事(4)

秀妮_5519 2022-04-13 阅读 75
docker

这篇需先说明一个问题:Docker镜像是什么?

是一种轻量级、可执行的独立软件包,包含运行某个软件所需的所有内容。把应用程序和配置依赖打包好形成一个可交付的环境。该打包好,可运行的环境就是images镜像文件。只有通过这个镜像文件才能才可生成Docker容器实例。

还需说明镜像的底层原理:UnionFS(联合文件系统)

特点:轻量级、分层且高性能的文件系统。支持对文件系统的修改作为一次提交来层层的叠加,同时可以将不同的目录挂载在同一个虚拟文件系统下。是Docker镜像的基础,镜像可以通过分层来进行继承,可基于基础镜像制作各种具体用途的应用镜像。

镜像分层的好处在于共享镜像,方便复制迁移。

注:Dokcer的镜像层都是只读权限,只有容器层是可写权限。当容器启动时,一个新的可写层被加载到镜像的顶部,这层即是“容器层”,容器层下的都是镜像层。

Docker commit 命令

提交容器副本,使之成为一个新的镜像。

docekr  commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]

在实际的情况中,我们更多是使用Dockerfile来生成新的镜像。

那做好的本地镜像如何发布到阿里云?

该图为网上找的流程图,仅供大家参考使用。

 首先,我们需要登录阿里云,进入容器镜像服务下的个人实例,创建一个命名空间。(名字自定义)阿里云命名空间

 然后创建镜像仓库,目前选择本地仓库(命令行上传镜像)。

 

 仓库中有自带的操作命令,根据提示cp即可。(不要自己敲)

第一步,登录阿里云(username后为自己阿里云的用户名全名,输入的密码为创建命名空间时的密码)

 第二步,将镜像通过tag一一对应

 第三步,推送镜像到仓库

 我们可在仓库看到上传的镜像,还可将本地的镜像删除,从阿里仓库下载回来。

 如何将本地镜像发布到私有云?

相比阿里云,docker官方更推荐将镜像放在Dokcer Hub上,但受网速限制,阿里云取而代之。但阿里云属于公共镜像仓库,一些机密的文件显然不适合存放。所以创建一个本地私人仓库就显得十分重要。Docker Registry是官方提供的工具,可以用来构建私有镜像仓库。

首先拉取Registry镜像

 运行Docker Registry 相当于本地有一个私有的Docker Hub。

 curl验证私有库上有什么镜像

 将要上传的镜像修改为符合私服规范的TAG标签

 修改配置,使其支持http传送,在/etc/docker/daemon.json中加入第二行内容

 需注意的是,两个json之间用逗号连接。若不生效则重启docker服务使生效。当然,私服库也需run一下。

推送到私服库

 再次curl验证私服库有无镜像

 拉取到本地并运行。当然,应先删除本地的该镜像。

 

举报

相关推荐

0 条评论