依赖关系复杂,容易发生兼容性问题

将应用的函数库,依赖,配置与应用一起打包
将每个应用放到一个隔离容器中运行,避免相互干扰



Docker允许开发中将应用,依赖,函数库,配置一起打包,形成可移植镜像
Docker应用运行在容器中,使用沙箱机制,相互隔离
Docker镜像中有完整镜像环境,仅依赖Linux的系统内核,因此可以在任意Linux操作系统上运行
Docker是一个系统进程,虚拟机是操作系统中的操作系统;
Docker体积小,启动快,性能好,虚拟机体积大,启动慢,性能一般
将应用程序,依赖,环境,配置打包在一起
镜像运行起来就是一个容器,一个镜像可以运行多个容器
服务端:接收命令或远程请求,操作镜像或容器
客户端:发送命令或远程请求到Docker服务端






一个虚拟目录,指向宿主机文件系统的某个目录。
直接操作宿主机文件解决不方便修改问题;
不同容器共享数据解决数据不可服用问题;
容器与数据分离解决升级维护苦难问题。

将容器与数据分离,方便操作容器内的数据。



通过以上命令,拿到宿主机目录,可以在外部直接操作宿主机目录中的文件,这样容器内的文件也会被更新。


数据卷挂载:由Dockers管理目录,层级较深,不容易找到
目录挂载:需要自己管理目录,但是目录很好找

$ docker run -it -d
启动 Docker 容器
$ docker start
停止 Docker 容器
$ docker stop
终止 Docker 容器
$ docker kill
来源:https://blog.csdn.net/shanghongshen/article/details/121603303
https://www.bilibili.com/video/BV1LQ4y127n4?p=60&vd_source=b901ef0e9ed712b24882863596eab0ca