docker构建本地镜像、将镜像发布到阿里云以及私有库

1、构建本地镜像

1、执行docker pull ubuntu命令从远程仓库拉取一个镜像,这里以ubuntu为例

docker构建本地镜像、将镜像发布到阿里云以及私有库_第1张图片

2、执行docker run -it ubuntu /bin/bash命令运行刚拉取的ubuntu镜像

在这里插入图片描述

从远程仓库中拉取的ubuntu是没有vim文本编辑器

在这里插入图片描述

接下来我们安装vim编辑器

执行apt-get update, apt-get -y install vim完成安装

安装完成后,可以看到vim编辑器已经可以使用了。这里再a.txt里添加了there is dockers instance这句话

docker构建本地镜像、将镜像发布到阿里云以及私有库_第2张图片

3、接下来使用exit命令退出ubuntu容器,使用docker commit提交容器副本使之成为一个新的镜像

docker commit -m=“提交的描述信息” -a=“作者” 刚才运行的ubuntu的容器ID 要创建的目标镜像名字[:版本号]

docker commit -m="add vim command" -a="felix" 66638fb096fe myubuntu:1.0

在这里插入图片描述

ps:如果忘记了刚才启动的ubuntu容器ID,可以使用docker ps -a,查看历史容器启动记录

在这里插入图片描述

4、执行docker images命令查看刚在构建的镜像

docker构建本地镜像、将镜像发布到阿里云以及私有库_第3张图片

可以看到自己构建的镜像已经创建成功

5、执行docker run -it 镜像ID命令启动容器

在这里插入图片描述

接着验证一下是否已经可以执行vim命令,这里我在a.txt里输入了verification successful

在这里插入图片描述

至此,我们自己构建的本地镜像已经成功。

2、将构建的本地镜像发布到阿里云

1、在容器镜像服务页面创建一个实例,这里创建的个人版。

docker构建本地镜像、将镜像发布到阿里云以及私有库_第4张图片

2、点击创建的个人实例,先创建命名空间

docker构建本地镜像、将镜像发布到阿里云以及私有库_第5张图片

接着创建镜像仓库

docker构建本地镜像、将镜像发布到阿里云以及私有库_第6张图片

docker构建本地镜像、将镜像发布到阿里云以及私有库_第7张图片

docker构建本地镜像、将镜像发布到阿里云以及私有库_第8张图片

创建完成之后点击刚才创建的仓库,可以看到操作指南

docker构建本地镜像、将镜像发布到阿里云以及私有库_第9张图片

第三步的脚步即是将本地镜像推送到阿里云的镜像仓库中

docker构建本地镜像、将镜像发布到阿里云以及私有库_第10张图片

在这里插入图片描述

docker tag命令会将刚才创建的镜像复制一份并命名为registry.cn-shanghai.aliyuncs.com/mhdaliyun/myubuntu,版本为1.0

3、将之前的镜像删除,然后拉取上传到阿里云中的镜像

执行docker pull registry.cn-shanghai.aliyuncs.com/mhdaliyun/myubuntu:1.0 命令拉取

docker构建本地镜像、将镜像发布到阿里云以及私有库_第11张图片

接着执行docker run -it 镜像ID /bin/bash命令启动容器,测试vim命令,可以发现已经成功

在这里插入图片描述

3、本地镜像发布到私有库

1、下载镜像Docker Registry

docker pull registry

下载完毕后执行docker images命令可以看到registry

docker构建本地镜像、将镜像发布到阿里云以及私有库_第12张图片

2、运行registry,相当于本地有个私有的docker hub

docker run -d -p 5000:5000 registry -v /mhd/myregistry/:/tmp/registry --privileged=true registry

如果是云服务器记得开放5000端口,/mhd/myregistry/这一部分可以改为自己想要的路径

在这里插入图片描述

3、我们可以使用docker tag命令将从阿里云拉下来的本地镜像(添加了vim功能的)复制一份并且重命名

docker构建本地镜像、将镜像发布到阿里云以及私有库_第13张图片

4、使用curl验证私有库中有什么镜像

curl -XGET http://自己的IP地址:5000/v2/_catalog

可以看到是空的

在这里插入图片描述

5、将镜像renamed_ubuntu修改为符合私服规范的名字

dcoker tag 镜像ID 本机IP:5000/镜像名:版本号

docker构建本地镜像、将镜像发布到阿里云以及私有库_第14张图片

6、修改配置文件使之支持http

vim /ect/docker/daemon.json

在这里插入图片描述

需要添加一个“,”和 “insecure-registries”: [“本机IP:5000”]

添加完成后执行systemctl restart docker命令重启docker,重启之后还需执行docker start 容器ID命令重启之前的registry

之前的registry容器ID可以使用docker ps -a命令查看

7、push推送到私有库

docker push 镜像名:版本号

docker构建本地镜像、将镜像发布到阿里云以及私有库_第15张图片

8、再次使用curl验证私有库中有什么镜像,可以看到镜像已经在私有库中了

在这里插入图片描述

9、pull到本地运行查看是否是自己刚才的镜像,pull之前可以删除之前的镜像

docker pull 本机IP:5000/镜像名:版本号

docker构建本地镜像、将镜像发布到阿里云以及私有库_第16张图片

拉下来之后使用docker run -it 镜像ID查看是否有vim的功能,因为我们这里使用的是之前的镜像,所以可以看到a.txt中还是之前的内容

docker构建本地镜像、将镜像发布到阿里云以及私有库_第17张图片

你可能感兴趣的:(Docker,docker,linux,容器)