第一次用docker,老师看下我理解对不对
来源:8-4 两种nestjs数据库解决方案:mongoose与typeorm(1)

见信
2023-11-25
- docker相当于是在我们的操作系统内,安装了一个linux的虚拟机子系统,然后将我们的应用部署到这个子系统中
- 比如我们需要用mysql,那么docker会帮我们在这个linux系统里,配置好mysql的相关环境,然后运行容器,就相当于启动了linux里的mysql。也就是说docker里的mysql与我们本机系统上的mysql是两马事,因为进行了逻辑隔离。
- 这一节里的ports:3306:3306相当于是把linux里的3306端口映射到了电脑本机上的3306端口,让我们在本机上也可以进行访问,是这个意思对吗?
写回答
1回答
-
Brian
2023-11-27
你的理解基本正确,但有一点需要澄清:
Docker不是一个完整的虚拟机子系统,而是容器化技术。它利用操作系统的内核进行隔离,允许多个容器共享同一个操作系统,因此相对于传统虚拟机,它更轻量级。容器内部使用的是宿主操作系统的内核,但有自己的文件系统和进程空间。所以,Docker容器不需要像虚拟机一样启动完整的操作系统。
正确,Docker容器可以将应用程序及其依赖项打包在一起,并在容器内运行,与宿主操作系统隔离开来。这确保了环境一致性和便携性。
对的,端口映射的概念是正确的。
ports:3306:3306
表示将容器内的端口 3306 映射到主机上的端口 3306,以便通过主机访问容器内运行的 MySQL 服务。这允许你在主机上访问容器内的服务,就好像它们运行在主机上一样。
00
相似问题