Docker是一种轻量级的容器化技术,在计算机领域里被广泛应用于软件开发、测试和部署等场景。Docker利用容器来封装和隔离应用程序,使得应用程序可以在任何平台上运行,而不需要担心操作系统和依赖环境等问题。
Docker的核心组件包括:
- Docker Engine:是一个用来构建和运行Docker容器的开源引擎,提供了一系列的命令行工具和API接口,可以帮助用户管理和创建Docker镜像。
- Docker Hub:是一个云端的镜像仓库,用来存储、分享和下载Docker镜像,其中包括了许多常见的操作系统、应用程序和中间件等。
- Docker Compose:是一个用于编排容器化应用程序的工具,可以通过一个简单的YAML配置文件定义应用程序的组成、依赖关系和运行方式等。
Docker的优点包括:
- 简化管理:由于Docker容器是轻量级的、可移植的,因此可以方便地进行部署和管理,特别是对于那些需要频繁更新和扩展的应用程序。
- 隔离性:每个Docker容器都是相互隔离的,这意味着容器之间互不影响,可以确保应用程序和依赖环境的稳定性和安全性。
- 可移植性:Docker容器是可移植的,它们可以在任何支持Docker的平台上运行,避免了因为操作系统和依赖环境的不同而导致的兼容性问题。
- 开放性:Docker是开源的,任何人都可以参与到Docker社区中来共同开发和改进这个项目,同时也可以方便地找到和使用Docker镜像。
Docker需要sudo权限
列出本机的所有 image 文件。
docker image ls
删除 image 文件
docker image rm [imageName]
从仓库抓取镜像
docker image pull hello-world
运行镜像
docker container run hello-world docker container run -p 8000:3000 -it koa-demo
--rm
:停止运行后,自动删除容器文件。
-p
参数:容器的 3000 端口映射到本机的 8000 端口。
-it
参数:容器的 Shell 映射到当前的 Shell,然后你在本机窗口输入的命令,就会传入容器。
列出本机正在运行的容器
docker container ls
列出本机所有容器,包括终止运行的容器
docker container ls --all
终止指定镜像
docker container kill [containID]
创建image文件
docker image build -t koa-demo .
-t
image的名字, .
Dockerfile的路径
docker 编译项目
docker run -it --rm -v /path/on/host:/path/in/container qt_project
其中 /path/on/host
是主机上的路径,/path/in/container
是容器内的路径,它们之间使用冒号分隔。在容器内,任何写入到 /path/in/container
目录的文件都将会被自动同步到本地主机上的 /path/on/host
目录中。
使用 -v
参数来挂载目录或文件可以使得容器和主机之间共享数据,并且容器内部的应用程序可以直接读取和写入挂载的数据。这样可以使得容器更加灵活和可定制,同时也方便了开发和调试工作。