阿里云部署Docker(5)----管理和发布您的镜像

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

出到这节,我在百度搜索了一下“阿里云部署Docker”,突然发现怎么会有人跟我写的一样呢?哦,原来是其他博客系统的爬虫来抓取,然后也不会写转载自什么什么的。所以,我终于明白为什么那些大咖的文章总会在文章的开头写明,转载请注明原创来自xxx的。恩。get it,从这篇开始,我也要这样了。

本文欢迎转载,但要尊重本人劳动成果,转载注明转自“http://blog.csdn.net/minimicall/” http://blog.csdn.net/minimicall/article/details/40147207

对阿里云里面部署Docker,我的之前的文章有:

第一篇,安装篇:http://blog.csdn.net/minimicall/article/details/40108305

第二篇,依旧是安装:http://blog.csdn.net/minimicall/article/details/40119177

第三篇,基础指令学习:http://blog.csdn.net/minimicall/article/details/40143061

第四篇,容器的使用:http://blog.csdn.net/minimicall/article/details/40144719


今天,我们要进一步讲解,

管理本地镜像

创建基础镜像

上传发布镜像

Listing images on the host

我们首先通过 docker images来查看一下我们本地有什么镜像。

root@iZ28ikebrg6Z:~# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ubuntu              utopic              2185fd50e2ca        2 days ago          237.2 MB
ubuntu              14.10               2185fd50e2ca        2 days ago          237.2 MB
ubuntu              trusty              9cbaf023786c        2 days ago          192.8 MB
ubuntu              14.04               9cbaf023786c        2 days ago          192.8 MB
ubuntu              14.04.1             9cbaf023786c        2 days ago          192.8 MB
ubuntu              latest              9cbaf023786c        2 days ago          192.8 MB
ubuntu              12.04.5             a9561eb1b190        2 days ago          120.2 MB
ubuntu              precise             a9561eb1b190        2 days ago          120.2 MB
ubuntu              12.04               a9561eb1b190        2 days ago          120.2 MB
centos              latest              87e5b6b3ccc1        2 weeks ago         224 MB
ubuntu              12.10               c5881f11ded9        3 months ago        172.2 MB
ubuntu              quantal             c5881f11ded9        3 months ago        172.2 MB
ubuntu              13.04               463ff6be4238        3 months ago        169.4 MB
ubuntu              raring              463ff6be4238        3 months ago        169.4 MB
ubuntu              saucy               195eb90b5349        3 months ago        184.7 MB
ubuntu              13.10               195eb90b5349        3 months ago        184.7 MB
training/webapp     latest              31fa814ba25a        4 months ago        278.8 MB
ubuntu              lucid               3db9c44f4520        5 months ago        183 MB
ubuntu              10.04               3db9c44f4520        5 months ago        183 MB
可以看到,我在之前的教程里面拉取了两个一个是ubuntu,一个是training/webapp。其中ubuntu,docker给我拉取了那么多变种回来。上面的输出有一列叫“TAG”,记得我们运行的时候会有"docker run ubuntu:14.04 /bin/bash 么 !就是根据TAG来精确的指定我们想要执行的那个ubuntu,否则docker会自作聪明的运行TAG为“latest”的那个镜像。

Getting a new image


如何获取一个新的镜像。我们知道当我们运行一个镜像的时候,如果这个镜像例如centos在本地没有,docker会自动的去远端库查询和下载。但是这种临时的下载明显是费时间的,我们可以不可以提前去下载呢?可以,使用docker pull拉取指令。

root@iZ28ikebrg6Z:~# docker pull centos
Pulling repository centos
^Croot@iZ28ikebrg6Z:~# ^C
你看,它会去拉取,不过我中断了,因为我不需要,我的阿里云存储很金贵的。

Finding images

搜索一个镜像,你可以选择去docker hub的网站搜索,也可以选择在本地用命令行的方式进行。

如下:

root@iZ28ikebrg6Z:~# docker search redmine
NAME                           DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
sameersbn/redmine                                                              40                   [OK]
webts/redmine                  Self contained Redmine 2.4 install on Cent...   2                    
triangle/redmine-plugin-dev    Redmine 2.4.1 on ruby 2.0 aimed at plugin ...   1                    [OK]
oasis/redmine-git                                                              1                    
melopos/redmine                                                                1                    [OK]
turnkeylinux/redmine-13.0      TurnKey Redmine - Integrated SCM & Project...   1                    
sherkenh/redmine                                                               0                    
oasis/redmine                                                                  0                    
bernigaud/redmine              Redmine for my server HAL Forked from same...   0                    
eprecise/redmine                                                               0                    
hogefoobar/redmine                                                             0                    
mattuso/redmine_nginx                                                          0                    [OK]
mattuso/redmine_mysql                                                          0                    [OK]
aofox5152/redmine                                                              0                    
chonglou/redmine               remine+mysql+nginx                              0                    
laughk/redmine                                                                 0                    
krickwix/redmine                                                               0                    
bazitov/redmine                                                                0                    
sasasin/redmine-scrum          ALMinium on CentOS 6, with SSH server.          0                    
yjkim/apache-redmine                                                           0                    
sosyco/redmine-sqlite-debian   Tryout/GetAndRun  Redmine 2.5.1/sqlitel/De...   0                    
eternnoir/redminebot                                                           0                    [OK]
sosyco/redmine-mysql-debian     Tryout/GetAndRun Redmine 2.5.1/mysql/Debi...   0                    
hiromiso/redmine2.4            redmine + mysql                                 0                    
tmtkd/redminetest              Sep. 1st, 2014 test of redmine/docker           0                    
pvdvreede/redminedev           Installation of ruby 2.0.0-p247 and others      0                    
madmaze/ubunturedmine          quick ubuntu 12.04 image with Redmine on s...   0                    
shaftoe/new_redmine            WARNING: old legacy Redmine, not usable fo...   0                    
mattuso/redmine_unicorn                                                        0                    [OK]
vpetersson/redmine                                                             0                    [OK]
miraitechno/redmine                                                            0                    [OK]
pnelson/redmine                                                                0                    [OK]
padelt/redmine                                                                 0                    [OK]
binaryphile/redmine            Reusable, general-purpose Redmine instance...   0 

我们搜索了一下redmine,这是个项目管理的服务。上面的列 有,名字,描述,星级(越流行评分越高,提供参考),是否有官方维护,是否自动化,这点我不是很能理解,我也不敢误人子弟。所以还是引用官网的那句话,各位看官自己理解

Official repositories are built and maintained by the Stackbrew project, and Automated repositories are Automated Builds that allow you to validate the source and content of an image.

选一个pull下来就行了。

Building an image from a Dockerfile

通过Dockerfile来构建一个镜像。用vim写一个Dockerfile,内如如下:

#This is a comment
FROM ubuntu:14.04
MAINTAINER zengjinlong <470910357@qq.com>
RUN apt-get update && apt-get install -y ruby ruby-dev
RUN gem install sinatra

命令都是大写,FROM表示它的源是什么,例如我们这个是给予Ubuntu:14.04的,MAINTANER是维护人员,比如说我,小曾,卖下萌。

RUN表示执行指令。

好,执行上述Dockerfile。

root@iZ28ikebrg6Z:~/docker# docker build -t="zengjinlong/sinatra:v2" .
Sending build context to Docker daemon  2.56 kB
Sending build context to Docker daemon 
Step 0 : FROM ubuntu:14.04
 ---> 9cbaf023786c
Step 1 : MAINTAINER zengjinlong <470910357@qq.com>
 ---> Running in c5674e71d7e4
 ---> 224b40d4b89f
Removing intermediate container c5674e71d7e4
Step 2 : RUN apt-get update && apt-get install -y ruby ruby-dev
 ---> Running in 5d6373cb79e6
Ign http://archive.ubuntu.com trusty InRelease
Ign http://archive.ubuntu.com trusty-updates InRelease
Ign http://archive.ubuntu.com trusty-security InRelease
Ign http://archive.ubuntu.com trusty-proposed InRelease
Get:1 http://archive.ubuntu.com trusty Release.gpg [933 B]
Get:2 http://archive.ubuntu.com trusty-updates Release.gpg [933 B]
Get:3 http://archive.ubuntu.com trusty-security Release.gpg [933 B]
Get:4 http://archive.ubuntu.com trusty-proposed Release.gpg [933 B]
Get:5 http://archive.ubuntu.com trusty Release [58.5 kB]
Get:6 http://archive.ubuntu.com trusty-updates Release [59.7 kB]
Get:7 http://archive.ubuntu.com trusty-security Release [59.7 kB]
Get:8 http://archive.ubuntu.com trusty-proposed Release [110 kB]
Get:9 http://archive.ubuntu.com trusty/main Sources [1335 kB]

会耗费比较长的时间。

我们技术下一步的学习。

标记一个image

docker tag 5db5f8471261 ouruser/sinatra:devel
root@iZ28ikebrg6Z:~/docker# docker tag   224b40d4b89f  zengjinlong/sinatra:v3

结果显示一下,

输出:

root@iZ28ikebrg6Z:~/docker# docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
<strong><span style="color:#ff0000;">zengjinlong/sinatra   v3           </span></strong>       224b40d4b89f        13 minutes ago      192.8 MB
ubuntu                14.10               2185fd50e2ca        2 days ago          237.2 MB
ubuntu                utopic              2185fd50e2ca        2 days ago          237.2 MB
ubuntu                trusty              9cbaf023786c        2 days ago          192.8 MB
ubuntu                latest              9cbaf023786c        2 days ago          192.8 MB
ubuntu                14.04.1             9cbaf023786c        2 days ago          192.8 MB
ubuntu                14.04               9cbaf023786c        2 days ago          192.8 MB
ubuntu                precise             a9561eb1b190        2 days ago          120.2 MB
ubuntu                12.04.5             a9561eb1b190        2 days ago          120.2 MB
ubuntu                12.04               a9561eb1b190        2 days ago          120.2 MB
centos                centos5             504a65221a38        2 weeks ago         467.1 MB
centos                centos6             68edf809afe7        2 weeks ago         212.7 MB
centos                centos7             87e5b6b3ccc1        2 weeks ago         224 MB
centos                latest              87e5b6b3ccc1        2 weeks ago         224 MB
ubuntu                quantal             c5881f11ded9        3 months ago        172.2 MB
ubuntu                12.10               c5881f11ded9        3 months ago        172.2 MB
ubuntu                13.04               463ff6be4238        3 months ago        169.4 MB
ubuntu                raring              463ff6be4238        3 months ago        169.4 MB
ubuntu                saucy               195eb90b5349        3 months ago        184.7 MB
ubuntu                13.10               195eb90b5349        3 months ago        184.7 MB
training/webapp       latest              31fa814ba25a        4 months ago        278.8 MB
ubuntu                10.04               3db9c44f4520        5 months ago        183 MB
ubuntu                lucid               3db9c44f4520        5 months ago        183 MB

上传我们的镜像到docker hub里面。

root@iZ28ikebrg6Z:~/docker# docker push zengjinlong/sinatra
The push refers to a repository [zengjinlong/sinatra] (len: 1)
Sending image list
^Croot@iZ28ikebrg6Z:~/docker# 

演示一下就OK,不是很想在这里浪费时间。

删除本地镜像,因为毕竟占地方把。

root@iZ28ikebrg6Z:~/docker# docker rmi centos
Untagged: centos:latest
root@iZ28ikebrg6Z:~/docker# docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
zengjinlong/sinatra   v3                  224b40d4b89f        18 minutes ago      192.8 MB
ubuntu                14.10               2185fd50e2ca        2 days ago          237.2 MB
ubuntu                utopic              2185fd50e2ca        2 days ago          237.2 MB
ubuntu                14.04               9cbaf023786c        2 days ago          192.8 MB
ubuntu                latest              9cbaf023786c        2 days ago          192.8 MB
ubuntu                trusty              9cbaf023786c        2 days ago          192.8 MB
ubuntu                14.04.1             9cbaf023786c        2 days ago          192.8 MB
ubuntu                12.04.5             a9561eb1b190        2 days ago          120.2 MB
ubuntu                12.04               a9561eb1b190        2 days ago          120.2 MB
ubuntu                precise             a9561eb1b190        2 days ago          120.2 MB
centos                centos5             504a65221a38        2 weeks ago         467.1 MB
centos                centos6             68edf809afe7        2 weeks ago         212.7 MB
centos                centos7             87e5b6b3ccc1        2 weeks ago         224 MB
ubuntu                12.10               c5881f11ded9        3 months ago        172.2 MB
ubuntu                quantal             c5881f11ded9        3 months ago        172.2 MB
ubuntu                raring              463ff6be4238        3 months ago        169.4 MB
ubuntu                13.04               463ff6be4238        3 months ago        169.4 MB
ubuntu                saucy               195eb90b5349        3 months ago        184.7 MB
ubuntu                13.10               195eb90b5349        3 months ago        184.7 MB
training/webapp       latest              31fa814ba25a        4 months ago        278.8 MB
ubuntu                lucid               3db9c44f4520        5 months ago        183 MB
ubuntu                10.04               3db9c44f4520        5 months ago        183 MB
root@iZ28ikebrg6Z:~/docker# docker rmi centos:*
Error response from daemon: No such image: centos:*
2014/10/16 15:38:58 Error: failed to remove one or more images
root@iZ28ikebrg6Z:~/docker# docker rmi centos
Error response from daemon: No such image: centos:latest
2014/10/16 15:39:03 Error: failed to remove one or more images
root@iZ28ikebrg6Z:~/docker# 

看来出了latest可以直接删除,其他的需要带上TAG才能指定删除。

好今天到这里。






相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4天前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
3天前
|
缓存 Linux 网络安全
docker的镜像无法下载如何解决?
【10月更文挑战第31天】docker的镜像无法下载如何解决?
119 28
|
9天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
46 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
5天前
|
存储 监控 Linux
docker构建镜像详解!!!
本文回顾了Docker的基本命令和管理技巧,包括容器和镜像的增删改查操作,容器的生命周期管理,以及如何通过端口映射和数据卷实现容器与宿主机之间的网络通信和数据持久化。文章还详细介绍了如何使用Docker部署一个简单的Web应用,并通过数据卷映射实现配置文件和日志的管理。最后,文章总结了如何制作自定义镜像,包括Nginx、Python3和CentOS镜像,以及如何制作私有云盘镜像。
59 2
|
7天前
|
关系型数据库 MySQL Docker
docker环境下mysql镜像启动后权限更改问题的解决
在Docker环境下运行MySQL容器时,权限问题是一个常见的困扰。通过正确设置目录和文件的权限,可以确保MySQL容器顺利启动并正常运行。本文提供了多种解决方案,包括在主机上设置正确的权限、使用Dockerfile和Docker Compose进行配置、在容器启动后手动更改权限以及使用 `init`脚本自动更改权限。根据实际情况选择合适的方法,可以有效解决MySQL容器启动后的权限问题。希望本文对您在Docker环境下运行MySQL容器有所帮助。
15 1
|
8天前
|
存储 Java 开发者
成功优化!Java 基础 Docker 镜像从 674MB 缩减到 58MB 的经验分享
本文分享了如何通过 jlink 和 jdeps 工具将 Java 基础 Docker 镜像从 674MB 优化至 58MB 的经验。首先介绍了选择合适的基础镜像的重要性,然后详细讲解了使用 jlink 构建自定义 JRE 镜像的方法,并通过 jdeps 自动化模块依赖分析,最终实现了镜像的大幅缩减。此外,文章还提供了实用的 .dockerignore 文件技巧和选择安全、兼容的基础镜像的建议,帮助开发者提升镜像优化的效果。
|
12天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
35 2
|
13天前
|
存储 缓存 Java
Java应用瘦身记:Docker镜像从674MB优化至58MB的实践指南
【10月更文挑战第22天】 在容器化时代,Docker镜像的大小直接影响到应用的部署速度和运行效率。一个轻量级的Docker镜像可以减少存储成本、加快启动时间,并提高资源利用率。本文将分享如何将一个Java基础Docker镜像从674MB缩减到58MB的实践经验。
24 1
|
3月前
|
运维 Java Devops
阿里云云效操作报错合集之部署docker时遇到报错,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
运维 Kubernetes 前端开发
【云原生】阿里云服务器部署 Docker Swarm集群
阿里云服务器 一键部署 Docker Swarm 集群!
669 0
【云原生】阿里云服务器部署 Docker Swarm集群