Docker 基础小结

前言

本文主要介绍涉及前端需要了解的 Docker 基础知识。

Dockerfile、Image、Container 区别

Image

镜像,是容器的模板,它存储了应用程序及其依赖,Docker 根据镜像可以生成不同容器。

Container

容器,是根据镜像生成的实例,它和镜像的关系就好比编程中类和实例的关系。

Dockerfile

镜像的依赖及相关描述,Docker 会根据 Dockerfile 生成镜像。

常见操作

拉取镜像

docker pull node:alpine

查看镜像信息

docker inspect node:alpine

列出所有镜像

docker images

构建镜像

docker build -t node-base:18 .

列出所有容器

docker ps

查看容器端口映射

docker port nginx

查看容器资源占用

docker port nginx

进入容器环境

docker exec -it container-name

Docker 原理

Docker 技术本质上是属于一个普通的宿主机进程,借助了 Linux 下提供的各种机制去实现了进程、文件和资源的隔离。其中,进程隔离是通过 LinuxNamespace,文件隔离通过文件挂载,资源隔离通过 Cgroup 去实现的,使用代码去模拟 Docker 原理的话可以看下 Docker 是如何实现隔离。

总结

Docker 技术是当下的趋势,在应用部署这方面提供了很多解决方案,掌握好 Docker 非常有必要。