关于docker
摘要: 最近很多阿里内部的同学和客户私信来咨询如何学习 Docker 技术。为此,我们列了一个路线图供大家学习Docker和阿里云容器服务。这个列表包含了一些社区的优秀资料和我们的原创文章。我们会随着Docker技术的发展持续更新本文,也会在云栖社区继续贡献内容来帮助同学们快速入门或持续提高。
Docker学习路线图

最近很多阿里内部的同学和客户私信来咨询如何学习 Docker 技术。为此,我们列了一个路线图供大家学习Docker和阿里云容器服务。这个列表包含了一些社区的优秀资料和我们的原创文章。我们会随着Docker技术的发展持续更新本文,也会在云栖社区继续贡献内容来帮助同学们快速入门或持续提高。
Docker基础 101
- 学习Docker基本概念
- Docker容器
 - Docker镜像
- Dockerfile初步概念
 
 
 - 练习
- 安装Docker Toolbox或Docker Engine
 - 配置本地Docker环境
- 利用Docker Machine创建本地Docker Environment
 - 配置阿里云Docker镜像加速器
 
 - 管理容器的生命周期与配置
- 创建、删除、检查、启动、停止容器 ...
 - 环境变量
 - 端口配置
 
 - 学习端口映射和容器链接
 - 学习利用volume保存持久化容器数据
 - 学习检查容器日志
docker logs
 - 学习监控容器内部进程状态
docker top与docker stats
 
 - 练习构建容器镜像,与镜像管理
- 构建Docker镜像
- 构建一个long run的docker应用
 
 - 使用阿里云镜像管理服务
 
 - 构建Docker镜像
 
容器编排基础 101
- 学习Docker Compose基本概念
- 编排模板 template
- 服务定义 service
 
 - 应用项目 project
 
 - 编排模板 template
 - 练习
- 利用 docker compose 管理应用项目生命周期
- 创建、删除、检查、启动、停止容器 ...
 - 更新
 - Scale
 
 - 利用 docker compose 构建镜像
 
 - 利用 docker compose 管理应用项目生命周期
 
阿里云容器服务基础 101
- 学习基本概念: 阿里云容器服务简介
- 集群,节点
 - 编排模板, 应用项目
 
 - 练习
- 创建管理集群
 - 部署应用
- 部署一个docker镜像
 - 部署一个docker compose模板
 
 - 容器应用生命周期
- 启动、停止
 - 变更配置
 - 伸缩
 
 - 基本管控
- 查看容器日志
 - 查看容器监控信息
 - 查看节点监控信息
 - 查看应用操作日志
 
 - 通过Docker客户端连接集群
 - 实现最简单持续交付
 
 
软件开发者Docker基础 101
- Java 开发者
- Tomcat: https://yq.aliyun.com/articles/6894
 - SpringBoot: https://yq.aliyun.com/articles/2930
 
 - Python 开发者
 - NodeJS 开发者
 - .Net 开发者
 
Docker进阶 201
- Docker镜像优化
 - Docker网络
 - Docker存储
 - 进程管理知识
 - Docker安全
 - Docker Machine云端创建执行环境
 - 搭建私有Docker Registry
 - Docker Compose进阶
- 利用Compose V2模板支持容器、网络、存储的编排
 - 变量替换
 
 - Docker内置编排实现 Swarm Mode进阶
 
阿里云容器服务进阶 201
- Docker与微服务关系:TBD
 - 服务路由与负载均衡:在容器服务中如何暴露服务到公网并配置负载均衡
- 通过二级域名实现应用路由
 - 通过自定义SLB实现服务路由
 
 - 服务发现
- DNS服务发现
 - 自定义服务路由:基于Docker的应用负载均衡与服务发现
 
 - 阿里云存储插件扩展
- OSSFS:用OSS数据卷实现Wordpress附件共享
 - NAS:在阿里云容器服务中使用NAS(NFS)数据卷
 
 - 监控
- 云监控服务集成:(TBD)
 - 开源监控日志服务
 - 容器应用监控:(TBD)
 
 - 日志
- 日志服务集成
 - 开源ELK日志服务方案
 
 - 容器调度
 - 持续交付进阶
 - 网络相关
- 如何保证摘除公网EIP的容器服务VPC集群可以正常访问公网
 - 容器服务是如何做到的跨主机的容器间通信?
 - 混合云方案:(TBD)
 
 - Open API
 - 高可用容器集群与容器应用
 
参考资料
Docker发展很快,很多要靠自己实践,结合自己的实际场景和问题操练一下。
官方文档
- docs.docker.com - 强烈推荐
 
电子书
纸质书
社区
拓展阅读
备忘单
转载自:https://yq.aliyun.com/articles/40494?spm=5176.100244.teamconlist.5.lGVR5V
docker下载: https://docs.docker.com/docker-for-windows/#download-docker-for-windows
给docker 的镜像加 仓库名称和标签
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> 5867cf1a8987 3 hours ago 2.455 GB
lantern-builder latest f997b57bc787 20 hours ago 2.211 GB
fedora 21 1a4b6ed2b9da 3 months ago 241.3 MB
alexwhen/docker-2048 latest 7929bcd70e47 14 months ago 8.011 MB
[root@localhost ~]# docker tag 5867cf1a8987 daocloud.io/calm2100/myimage:v1
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
daocloud.io/calm2100/myimage v1 5867cf1a8987 3 hours ago 2.455 GB
lantern-builder latest f997b57bc787 20 hours ago 2.211 GB
fedora 21 1a4b6ed2b9da 3 months ago 241.3 MB
alexwhen/docker-2048 latest 7929bcd70e47 14 months ago 8.011 MB
学习资料:
2.《docker技术入门与实践》
3.《Docloud 文档》
关于docker的更多相关文章
- docker——容器安装tomcat
		
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
 - Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境
		
首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...
 - Docker 第一篇--初识docker
		
已经多年不写博客, 看完<晓松奇谈>最后一期猛然觉醒, 决定仔细梳理下自己这几年的知识脉络. 既然决定写, 那么首先就从最近2年热门的开源项目Docker开始.Docker 这两年在国内很 ...
 - 在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)
		
环境准备 1.亚马逊EC2 Windows Server 2016 with Container 2.Visual Studio 2015 Enterprise(Profresianal要装Updat ...
 - docker for mac 学习记录
		
docker基本命令 docker run -d -p 80:80 --name webserver nginx 运行容器并起别名 docker ps 展示目前启动的容器 docker ps -a 展 ...
 - scrapy爬虫docker部署
		
spider_docker 接我上篇博客,为爬虫引用创建container,包括的模块:scrapy, mongo, celery, rabbitmq,连接https://github.com/Liu ...
 - [原][Docker]特性与原理解析
		
Docker特性与原理解析 文章假设你已经熟悉了Docker的基本命令和基本知识 首先看看Docker提供了哪些特性: 交互式Shell:Docker可以分配一个虚拟终端并关联到任何容器的标准输入上, ...
 - 开发者的利器:Docker 理解与使用
		
困扰写代码的机器难免会被我们安装上各种各样的开发工具.语言运行环境和引用库等一大堆的东西,长久以来不仅机器乱七八糟,而且有些相同的软件还有可能会安装不同的版本,这样又会导致一个项目正常运行了,却不小心 ...
 - 使用python自动生成docker nginx反向代理配置
		
由于在测试环境上用docker部署了多个应用,而且他们的端口有的相同,有的又不相同,数量也比较多,在使用jenkins发版本的时候,不好配置,于是想要写一个脚本,能在docker 容器创建.停止的时候 ...
 - 微服务与Docker介绍
		
什么是微服务 微服务应用的一个最大的优点是,它们往往比传统的应用程序更有效地利用计算资源.这是因为它们通过扩展组件来处理功能瓶颈问题.这样一来,开发人员只需要为额外的组件部署计算资源,而不需要部署一个 ...
 
随机推荐
- Oracle 10g安装教程
			
首先下载安装文件,打开后文件结构如图所示: 安装之前请关闭Windows防火墙并断开网络. xp系统下直接双击运行(本经验以XP系统安装为例进行讲述). 如果是在win7上安装,如图:在setup文件 ...
 - Linux设备管理(五)_写自己的sysfs接口
			
我们在Linux设备管理(一)_kobject, kset,ktype分析一文中介绍了kobject的相关知识,在Linux设备管理(二)_从cdev_add说起和Linux设备管理(三)_总线设备的 ...
 - Cowboy 开源 WebSocket 网络库
			
Cowboy.WebSockets 是一个托管在 GitHub 上的基于 .NET/C# 实现的开源 WebSocket 网络库,其完整的实现了 RFC 6455 (The WebSocket Pro ...
 - 你还可以再诡异点吗——SQL日志文件不断增长
			
前言 今天算是遇到了一个罕见的案例. SQL日志文件不断增长的各种实例不用多说,园子里有很多牛人有过介绍,如果我再阐述这些陈谷子芝麻,想必已会被无数次吐槽. 但这次我碰到的问题确实比较诡异,其解决方式 ...
 - MongoDB数据实体中的ObjectId序列化成json的一个小坑
			
很多时候我们都需要对实体对象进行序列化与反序列化,而ObjectId类型,只能用mongo的驱动以bson格式来序列化,但我们对外的交互,一般是json格式. 有两种解决方案: 1.自己写一个json ...
 - cmder添加右键菜单
			
http://www.jianshu.com/p/b691b48bcee3 就这么简单 Cmder.exe /REGISTER ALL
 - SQL:插入指定标识列的数据时候的小错误
			
异常处理汇总-数据库系列 http://www.cnblogs.com/dunitian/p/4522990.html 后期会在博客首发更新:http://dnt.dkill.net 好久没写标识系 ...
 - 【Win 10 应用开发】Web授权示例:获取新浪微博的授权码
			
在使用类似微博的开放API的时候,会涉及到授权的问题,就拿微博来说,当用户在你的应用中需要调用微博API来处理一些事情时,你首先要让用户登录微博,得到用户授权后,才能调用微博API. 授权通常通过一个 ...
 - WebStrom与Github连接
			
刚开始接触GitHub,之前都是用git命令来提交代码,很是麻烦~~~,现在通过WebStrom将项目提交到GitHub网站上(简单容易了很多). 第一:webstrom创建项目然后上传到githu ...
 - ASP.NET MVC5+EF6+EasyUI 后台管理系统(52)-美化EasyUI皮肤和图标
			
系列目录 我很久以前就想更新系统的皮肤功能,Easyui 自带的皮肤已经无法满足客户的审美. 皮肤颜色来源于AdminLTE系统.我的颜色全部都这里取的.,所以一共取了11个颜色.1个皮肤=2个ban ...