Docker创建个人阿里云镜像,上传/拉取阿里云镜像

一、什么是docker?

应用容器引擎

Docker 是一个开源的应用容器引擎,它允许开发者将应用程序及其依赖项打包到一个轻量级、可移植的容器中。这种容器可以在任何支持 Docker 的环境中运行,无需担心环境和配置的变化。Docker 提供了统一的平台,使得开发人员能够在不同的环境中创建一致的开发、测试和生产环境。

Docker 包含几个关键概念:

  • 仓库 (Repository):用于存储镜像的中央库,类似于 Git 仓库,用户可以从中拉取镜像。
  • 镜像 (Image):由多层文件系统和指令组成的模板,可以用来创建新的容器。
  • 容器 (Container):从其基镜像创建出的实例,提供了一个隔离的环境,在其中运行的进程拥有自己的文件系统和网络空间。
  • 数据卷 (Volume):容器内的目录,可以通过挂载外部存储来实现持久性,确保容器间的数据共享。

基于以上的内容,就可以方便我们运维进行服务器环境的部署。那么部署不重要、数据卷不重要,最重要的是镜像和仓库。那么先说下仓库。 

二、什么是docker镜像仓库?

大家都用过git存代码吧,git有个人的git仓库、有gitlab、有很多服务器厂商提供的类似gitlab的应用。docker仓库其实跟这个差不多,就是存放开发者或者官方等创建的docker的镜像的地方。

现在来说,docker镜像仓库有:1、Docker hub共有仓库;2、registry私有仓库;3、harbor企业私有仓库,它是Docker Registry的更高级封装;4、阿里云/华为云等等的个人私有仓库。

下面就是整理了阿里云的镜像仓库的创建过程,便于我们管理自己的docker镜像。当然一般如果属于自己私密的,还是建议本地或者自己的服务器搭建私服比较合适。但是实际上大部分不属于什么隐私,阿里云的个人实例已经够存了,实在是不放心可以自己入手一台小型的mini台式改造成linux,对网络和端口进行封禁,用于存个人的资料即可。

三、如何创建阿里云镜像仓库?

1.首先,你要创建好属于自己的阿里云账号,登录到阿里云的控制台,搜索容器镜像服务。

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

Docker创建个人阿里云镜像,上传/拉取阿里云镜像_第1张图片

2.创建镜像仓库:会先要求你填写“命名空间”的名字,然后填写仓库的名字,然后选择公开或私有,填写关于这个仓库的摘要。如果是公开,那么其他人可以pull到你的镜像,如果是私密的就只能登录你的仓库才能获取到镜像。 Docker创建个人阿里云镜像,上传/拉取阿里云镜像_第2张图片

 3.创建完成后如图。

Docker创建个人阿里云镜像,上传/拉取阿里云镜像_第3张图片

4.点击进入你创建的仓库,阿里云会提示你如何进行镜像push和pull

Docker创建个人阿里云镜像,上传/拉取阿里云镜像_第4张图片

这里整理下如何上传镜像:

a. 登录阿里云Docker Registry
$ docker login --username=XXXX registry.cn-guangzhou.aliyuncs.com
b.将镜像推送到Registry 
1.定下来镜像的id,根据你实际需传的镜像id来写:
docker tag [ImageId] registry.cn-guangzhou.aliyuncs.com/welldene/docker:[镜像版本号]

这里的[ImageId],你可以在你linux查一下你要上传的镜像的id,复制过来,然后镜像版本号,你可以写具体的版本,或者如果你把这个仓库当成是你的储物柜,你可以把版本号写成你的应用的名字,如我这个是个小游戏马里奥,那么我的这条命令会如下写:

docker tag a3cf6b941e08 registry.cn-guangzhou.aliyuncs.com/welldene/docker:mario

2.把这个镜像从你本地传到你刚才创建的仓库里面。
docker push registry.cn-guangzhou.aliyuncs.com/welldene/docker:[镜像版本号]

这个的版本号跟你上面第一条写的版本号一致即可,如:

docker push registry.cn-guangzhou.aliyuncs.com/welldene/docker:mario
c.成功后命令行会如下显示:
Docker创建个人阿里云镜像,上传/拉取阿里云镜像_第5张图片d.成功后阿里云的仓库会显示你上传的镜像。

Docker创建个人阿里云镜像,上传/拉取阿里云镜像_第6张图片

四、如何从阿里云镜像仓库拉取镜像?

那这个就跟平常拉取官方的镜像一样了,直接pull对应的镜像即可

[root@2 procedure]# docker pull registry.cn-guangzhou.aliyuncs.com/welldene/games:mario
mario: Pulling from welldene/games
7f4f748cbf3f: Pull complete 
e9fd670f4476: Pull complete 
76b250639dae: Pull complete 
4f4fb700ef54: Pull complete 
e1e1c295ea36: Pull complete 
4653daa636c9: Pull complete 
Digest: sha256:f4a933fb5a431e84e3d2623bfaa776c0d973d572b6db0a0b16dc243ffc7bcfa1
Status: Downloaded newer image for registry.cn-guangzhou.aliyuncs.com/welldene/games:mario
registry.cn-guangzhou.aliyuncs.com/welldene/games:mario

[root@2 procedure]# docker images
REPOSITORY                                          TAG       IMAGE ID       CREATED        SIZE
pay-service                                         1.4       b14634bfabd5   7 weeks ago    540MB
dreamweb                                            2.3       1d0631d08dcb   2 months ago   473MB
nginx                                               latest    bc649bab30d1   3 months ago   187MB
ubuntu                                              16.04     b6f507652425   2 years ago    135MB
registry.cn-guangzhou.aliyuncs.com/welldene/games   mario     9a35a9e43e8c   8 years ago    198MB

你可能感兴趣的:(docker使用,docker,阿里云,容器)