在介绍之前,我希望你能先记住这句话:“Docker 是一个便携的应用容器”。你可以不知道 Docker 所说的的“便携式容器”到底是什么意思,但是你必须清楚 Docker 在日常中能带来非常大的效率提升。
有些容器会自动产生一些数据,为了不让数据随着 container 的消失而消失,保证数据的安全性。例如:数据库容器,数据库的表会产生一些数据,如果我把 container 给删除,数据就丢失。为了保证数据不丢失,这就有了 Volume 的存在。
为什么要有Docker Compose多容器部署, 为了多快好省,总结起来就是为了偷懒,如图所示,一个 dockerfile 文件可以启动多个容器
从Linux的network namespace
开始,通过详细讲解Docker的内置网络host
和bridge
,来给大家展示不同容器之间网络的隔离和通信是如何实现的。
当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题。但是做读操作是不会发生数据冲突问题。