##前言
- 学习docker的主要目的是基于开发和服务器配置过程中产生的一系列问题而来
- 希望实现服务器的快速部署和集群
- 隔离开发和测试过程中的运行环境
- 在搭建个人科学上网方式(Shadowsocks)的过程中经历过基础很痛苦的过程
- Shadowsocks所在服务器运行了一段时间后遭到攻击崩溃致使服务器宕机
- 需要配置更多的Shadowsocks节点时无法高效部署
- 开始时候就一台Linux服务器,玩坏了都不好还原
初步认识一下docker
-
Docker Client : Docker提供给用户的客户端。Docker Client提供给用户一个终端,用户输入Docker提供的命令来管理本地或者远程的服务器。
-
Docker Daemon : Docker服务的守护进程。每台服务器(物理机或虚机)上只要安装了Docker的环境,基本上就跑了一个后台程序Docker Daemon,Docker Daemon会接收Docker Client发过来的指令,并对服务器的进行具体操作。
-
Docker Images : 俗称Docker的镜像,这个可难懂了。你暂时可以认为这个就像我们要给电脑装系统用的系统CD盘,里面有操作系统的程序,并且还有一些CD盘在系统的基础上安装了必要的软件,做成的一张 “只读” 的CD。
-
Docker Registry : 这个可认为是Docker Images的仓库,就像git的仓库一样,用来管理Docker镜像的,提供了Docker镜像的上传、下载和浏览等功能,并且提供安全的账号管理可以管理只有自己可见的私人image。就像git的仓库一样,docker也提供了官方的Registry,叫做Dock Hub(http://hub.Docker.com)
-
Docker Container : 俗称Docker的容器,这个是最关键的东西了。Docker Container是真正跑项目程序、消耗机器资源、提供服务的地方,Docker Container通过Docker Images启动,在Docker Images的基础上运行你需要的代码。
图例
##Docker 的应用场景图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iNMqW2UT-1636546137300)(https://docs.docker.com/engine/article-img/architecture.svg)]
通过Docker 实现的Nginx代理
##企业级的解决方案
##案例
案例一
Jenkins+Github+Docker+Maven实现持续集成
地址:https://blog.couchbase.com/deployment-pipeline-docker-jenkins-java-couchbase/
案例二
Docker + DigitalOcean + Shadowsocks 5分钟科学上网
地址:这里写链接内容
##提供一些比较好的学习文档
相关地址
- Docker 官 网:https://www.docker.com/
- Docker Docs :https://docs.docker.com/engine/docker-overview/
###文档类:
DaoCloud Services 文档 :http://guide.daocloud.io/dcs/daocloud-services-9152632.html
Docker 官方文档,中文汉化项目:https://octowhale.gitbooks.io/doc2cn_docker/content/
Docker 中文指南:http://www.widuu.com/docker/index.html
Docker 学习社区:http://www.docker.org.cn/index.html
极客学院wiki:http://search.jikexueyuan.com/wiki?q=docker
###视频类:
极客学院:http://search.jikexueyuan.com/course/?q=docker
慕课网:http://www.imooc.com/learn/824
51CTO学院:http://edu.51cto.com/center/course/index/search?q=docker
书籍类:
https://search.jd.com/search?keyword=docker&enc=utf-8&qrst=1&rt=1&stop=1&vt=2&wq=docker&ev=exstarlevel_5%40&click=0
上连接中的:
- Docker生产环境实践指南
- 没什么难的Docker入门与开发实战
- 其他的感觉也不错哈