Docker
- 1. 什么是Doker
- 1.1 依赖兼容问题
- 1.2 Dockers如何解决依赖兼容问题
- 1.3 操作系统不同,函数库不同
- 1.4 Dockers如何解决不同系统环境问题
- 1.5 总结
- 1.5.1 Docker如何解决大型项目依赖关系复杂,不同组件依赖兼容问题
- 1.5.2 Docker如何解决开发,测试,线上环境有差异的问题
- 2. Docker和虚拟机的区别
- 3. Docker架构(CS架构)
- 3.1 镜像
- 3.2 容器( Docker 镜像的运行时实例)
- 3.3 Docker架构
- 4. Docker基本操作
- 4.1 从DockerHub拉取一个nginx镜像并查看
- 5. 容器基本操作
- 6. 数据卷
- 6.1 容器与数据耦合的问题
- 6.2 数据卷
- 6.3 数据卷的作用
- 6.4 demo
- 6.4.1 创建一个数据卷,并查看在宿主机的目录位置
- 6.4.2 数据卷挂载 - 创建一个nginx容器,并修改容器内html目录内的内容
- 6.4.3 目录挂载
- 6.4.5 数据卷挂载和目录挂载区别
- 7. 镜像结构
- 8. 如何从 Docker 镜像创建 Docker 容器?
- 9. 如何启动、停止和终止容器?
1. 什么是Doker
1.1 依赖兼容问题
依赖关系复杂,容易发生兼容性问题
1.2 Dockers如何解决依赖兼容问题
将应用的函数库,依赖,配置与应用一起打包
将每个应用放到一个隔离容器中运行,避免相互干扰
1.3 操作系统不同,函数库不同
1.4 Dockers如何解决不同系统环境问题
1.5 总结
1.5.1 Docker如何解决大型项目依赖关系复杂,不同组件依赖兼容问题
Docker允许开发中将应用,依赖,函数库,配置一起打包,形成可移植镜像
Docker应用运行在容器中,使用沙箱机制,相互隔离
1.5.2 Docker如何解决开发,测试,线上环境有差异的问题
Docker镜像中有完整镜像环境,仅依赖Linux的系统内核,因此可以在任意Linux操作系统上运行
2. Docker和虚拟机的区别
Docker是一个系统进程,虚拟机是操作系统中的操作系统;
Docker体积小,启动快,性能好,虚拟机体积大,启动慢,性能一般
3. Docker架构(CS架构)
3.1 镜像
将应用程序,依赖,环境,配置打包在一起
3.2 容器( Docker 镜像的运行时实例)
镜像运行起来就是一个容器,一个镜像可以运行多个容器
3.3 Docker架构
服务端:接收命令或远程请求,操作镜像或容器
客户端:发送命令或远程请求到Docker服务端
4. Docker基本操作
4.1 从DockerHub拉取一个nginx镜像并查看
5. 容器基本操作
6. 数据卷
6.1 容器与数据耦合的问题
6.2 数据卷
一个虚拟目录,指向宿主机文件系统的某个目录。
直接操作宿主机文件解决不方便修改问题;
不同容器共享数据解决数据不可服用问题;
容器与数据分离解决升级维护苦难问题。
6.3 数据卷的作用
将容器与数据分离,方便操作容器内的数据。
6.4 demo
6.4.1 创建一个数据卷,并查看在宿主机的目录位置
6.4.2 数据卷挂载 - 创建一个nginx容器,并修改容器内html目录内的内容
通过以上命令,拿到宿主机目录,可以在外部直接操作宿主机目录中的文件,这样容器内的文件也会被更新。
6.4.3 目录挂载
6.4.5 数据卷挂载和目录挂载区别
数据卷挂载:由Dockers管理目录,层级较深,不容易找到
目录挂载:需要自己管理目录,但是目录很好找
7. 镜像结构
8. 如何从 Docker 镜像创建 Docker 容器?
$ docker run -it -d <image_name>
9. 如何启动、停止和终止容器?
启动 Docker 容器
$ docker start <container_id>
停止 Docker 容器
$ docker stop <container_id>
终止 Docker 容器
$ docker kill <container_id>