-
docker简介
- docker就是一个用于构建(build),运行(run),传送(share)应用程序的平台
- 做一个不恰当的类比,就是外卖平台,如果你自己做华莱士不一定好吃,但是如果华莱士做好了汉堡包(构建)呢?让后外卖(分享),最后你吃了(运行),拉肚子了(和在华莱士的效果一模一样)。
- 有了docker我们就可以随时随地的拉肚子了,也可以随时随地的直接运行程序而不用担心环境。
-
为什么要用docker?
-
假如你要搞一个网站,前端要vue,后端springboot,数据库是mysql
-
最少都要node,npm依赖,mysql,nginx,java,vue相关
-
一套下来,一天就没有了,而且每一次不同硬件上完成,你就当在搞一遍。如果这个时候,有外卖就好了,饿了一点就可以吃了。docker就是送外卖的平台。
-
-
docker与虚拟机的区别
-
基本原理与概念
- 镜像:当你面对镜子的时候,你不可能拿到镜子里的东西,所以镜像对于大部分人而言是只读的模版,但是你可以指定镜子里有什么。
- 容器:当你想自己拍自己,就可以通过镜像,因为镜像是只读的,所以一旦保证正确那么后续大概率没错。这个时候你拍的相片就是你自己的信息载体,我们将他叫做容器。无论你相亲多少人,对象一看就知道你长什么样。千人一面,相片(容器)提供了一个独立的对所有人有效的(可移植)的载体(环境)。
- 仓库:好了现在你太丑了,必须要改变穿衣风格,你打开xhs发现,大家发了很多自拍,你知道,这是容器,那不是你要的。突然有人分享了他的穿衣风格,于是你根据他的穿衣风格对镜,发现“wow”,他的穿衣风格就是你想要的镜像。而可以分享镜像的地方就是仓库。
- 好了,不懂没关系。你用过面向对象的编程语言吗?比如说py,java?
- 镜像=类,容器=实例,仓库=别人或者自己写好的类分享给别人的网站(说不定就是csdn)
- 好吧,我刚入门,我什么都不知道,能不能形象一些?
- 镜像=食谱,容器=根据食谱做好的饭,仓库=存放你我食谱且可以相互使用的共享阅读点。
-
docker的安装
-
容器化和Dockerfile
-
炒炒菜
- 在桌面创建一个文件夹“hello docker”(任意位置都可以)
- 所用任意一款喜欢的编辑器打开文件夹(不要说记事本)
- 创建一个index.js文件并写入“console.log("js控制台输出")”
- 现在要直接执行js文件,要操作系统,node,以及一些依赖环境,如果电脑上没有node,那么抱歉,用不了。
- 在同一级目录创建“Dockerfile”,建议D大写,没有后缀名
- 编写Dockerfile
- 查看镜像,通过docker images 【ls】
- 运行镜像:docker run 镜像名
- 在线docker:自行研究,我不会。Play with Docker (play-with-docker.com)https://labs.play-with-docker.com/
- docker pull 仓库/镜像名:下载镜像。
- 在桌面创建一个文件夹“hello docker”(任意位置都可以)
-
docker desktop:一款docker的图形化界面
- 容器有生命周期不可能持久化就像内存一样,要持久化就要映射的物理设备上虚化出来的逻辑卷上。
-
docker compose:
-
这是一个配置文件一般名字叫docker-compose.yml。里面将用到的环境放入当做统一控制组合,通过一条命令完成对整个环境的启动关闭配置。
-