[✔️] docker

1,299 阅读3分钟

Docker是一种轻量级的容器化技术,在计算机领域里被广泛应用于软件开发、测试和部署等场景。Docker利用容器来封装和隔离应用程序,使得应用程序可以在任何平台上运行,而不需要担心操作系统和依赖环境等问题。

Docker的核心组件包括:

  1. Docker Engine:是一个用来构建和运行Docker容器的开源引擎,提供了一系列的命令行工具和API接口,可以帮助用户管理和创建Docker镜像。

  2. Docker Hub:是一个云端的镜像仓库,用来存储、分享和下载Docker镜像,其中包括了许多常见的操作系统、应用程序和中间件等。

  3. Docker Compose:是一个用于编排容器化应用程序的工具,可以通过一个简单的YAML配置文件定义应用程序的组成、依赖关系和运行方式等。

Docker的优点包括:

  1. 简化管理:由于Docker容器是轻量级的、可移植的,因此可以方便地进行部署和管理,特别是对于那些需要频繁更新和扩展的应用程序。

  2. 隔离性:每个Docker容器都是相互隔离的,这意味着容器之间互不影响,可以确保应用程序和依赖环境的稳定性和安全性。

  3. 可移植性:Docker容器是可移植的,它们可以在任何支持Docker的平台上运行,避免了因为操作系统和依赖环境的不同而导致的兼容性问题。

  4. 开放性: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 .

-timage的名字, .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 参数来挂载目录或文件可以使得容器和主机之间共享数据,并且容器内部的应用程序可以直接读取和写入挂载的数据。这样可以使得容器更加灵活和可定制,同时也方便了开发和调试工作。