docker 学习笔记。
问题1 docker 是什么?
- 个人理解
类似于我们电脑里装的虚拟机。可以方便我们跑一些程序上去。再加上docker 很轻量级 占用内存小响应快,再有强大的镜像仓库的支持完美的融入我们现在的微服务需求。微服务一般都是 分开部署运维docker 大大提高了效率。为什么就是 docker 官方仓库提供了很全的镜像大大简化了部署运维效率 - 官方大大 解释
Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、 bare metal、OpenStack 集群和其他的基础应用平台
问题2 docker 由什么组成
这个呢不太好讲上图吧。 参考上图我们不难看出基本上有三个角色 感觉和我们的 maven 有几分类似
- registry 中央仓库。官方为我们制作好了很多优秀的镜像
- host 本地主机也是核心。 负责接收客户端的命令。启动容器啊 拉取镜像啊之类操作
- client 客户端 主要执行下我们的一些命令 打包啊启动啊的
我觉得我们要搞懂的是 一个容器启动的流程 1 client 【pull】 ----> host------>registry 2 registry 【return images】----->host。 3 client 【run】 -----> host 【ceate container 】 举个例子 就像 我们 去 appstore【registry】 下载了 安装包【image】到 我们的 电脑 【host】 然后我们在 桌面【client】双击安装启动 程序【container】。
问题3 怎么玩
下面我们以 tomcat 为例子玩一玩吧
1.拉取镜像
docker pull tomcat:8
效果如下图 这就是从中央仓库拉取 tomcat image 【:】 表示版本号 默认 lastest 那我们查看 下镜像
2.查看镜像
docker images
好了万事大吉我们跑起来。
3.启动镜像
docker run --name=lxcat -p 9876:8080 -d tomcat:8
这里解释下 –name 是给容器起别名 -p 是端口映射 ps: 结合上面的命令意思是把 我外部电脑的 9876端口映射到 容器里的 8080 端口。 -d 意思是后台执行。容器不会因为这次会话结束而销毁。 tomcat: 8 镜像。 那我们去看下效果哈哈哈 卧槽 原因是首页 index.jsp 没有在 webapps 目录下而是在 webapps dist下面。 正好我们学下 如何进入容器哈哈 先查看正好运行的容器
docker ps
拿到了容器ID 我们进入哈哈
4.进入容器
docker exec -it 9b6f4c1290ef /bin/bash
其实就是把 原来的 webapps 删除掉。 把webapps.dist 改为 webapps 我们看下结果
5.访问容器
总结
最后总结下常用命令: docker ps 查看运行中的 容器 docker images 查看镜像列表 docker run 运行容器 docker stop 容器id 停掉容器
彩蛋
最后忘了告诉你们以上操作下载个桌面程序点点点 就可以哈哈哈哈
|