目录
# 概念
- 个人理解介绍docker:
- 有了docker后,我可以把自己写的项目上传到linux虚拟机上(需要参考如何上传以及上传内容),根据dockerfile构建镜像文件,并且创建docker容器来访问这个项目,所有的docker镜像也可以发布到阿里云上,或者发布到DockerHub上面,非常的方便。我启动这个容器就相当于启动了这个jar包,启动了这个项目。
- 重点:
- 常用docker命令。
- 容器。
- 镜像。
- DockerFile文件。
- Docker网络。
1. Docker常见问题
- 出现问题就重启
systemctl restart docker;
- 首次进入docker时需要登录到root用户,输入
su root
密码是root; - Error response from daemon: Container:
- docker容器开启问题。查看所有容器docker ps -a 开启容器docker start 容器id;
- 参考:docker进入容器报:Error response from daemon: Container ******* is not running_docker error response from daemon-优快云博客
- vi命令用不了(说明没有这个命令需要下载这个命令)
-
方式一:
apt-get update
-
方式一:
apt-get update
2. docker概念和安装
-
场景:(是在VMware中的linux系统里操作的)
-
Docker容器与镜像(docker的每一个容器在创建时都会指定使用的镜像)
一个容器只能使用一个镜像。容器是基于镜像创建的,镜像是容器的基础。每个容器都是基于一个特定的镜像运行的,它包含了该镜像的文件系统和应用程序。
在Docker中,每个容器都是相互隔离的,并且具有自己的文件系统、进程空间和网络接口。因此,一个容器只能使用一个镜像来构建其环境和运行应用程序。
如果你需要在一个容器中运行多个应用程序,可以在镜像中预先配置好这些应用程序,或者在容器中安装和运行额外的应用程序。但是这些应用程序仍然是基于同一个镜像运行的,容器本身仍然只能使用一个镜像。
2.1 Docker的组成
(镜像images、容器containers、构建docker镜像文件Dockerfile、将镜像打包下载Tar files、仓库Registry)其余的都是当前板块使用的命令
2.2 Docker 组件及关系表
组件类别 | 组件名称 | 说明 | 关系 |
---|---|---|---|
Docker 引擎 | Docker CLI | 命令行界面,用户通过它与 Docker Daemon 交互。 | 与 Docker Daemon 通信。 |
Docker Daemon | 核心服务,处理容器的构建、运行和管理。 | - 与 Docker CLI 通信。 | |
- 使用 Containerd 管理容器。 | |||
- 直接管理容器、镜像、卷和网络。 | |||
Containerd | 高效的容器运行时,管理容器生命周期。 | 被 Docker Daemon 使用。 | |
RunC | 执行容器的 CLI 工具,符合 OCI 标准。 | 被 Containerd 使用。 | |
容器管理 | 容器 (Container) | 容器化的应用实例。 | 由 Docker Daemon 管理。 |
镜像 (Image) | 容器运行所需的文件系统和元数据。 | 由 Docker Daemon 管理。 | |
卷 (Volume) | 持久化数据存储,供容器使用。 | 由 Docker Daemon 管理。 | |
网络 (Network) | 容器之间和外部的网络配置。 | 由 Docker Daemon 管理。 | |
Docker 生态系统 | Docker Compose | 用于定义和运行多容器应用的工具。 | 使用 Docker CLI 与 Docker Daemon 通信。 |
Docker Swarm | Docker 的集群管理和编排工具。 | 编排 Docker Daemon。 | |
Kubernetes | 开源的容器编排平台,管理和调度容器。 | 编排 Docker Daemon |
2.3 docker核心思想
- docker核心思想,打包装箱,每个箱子都是互相隔离的。
- Docker:容器思想,省去了我们部署环境的复杂性,好比发布项目的时候需要redis环境、jdk环境、MySQL环境及ES环境等等,每次部署这些环境的时候都非常复杂耗时,这时候有了docker帮我们省去了部署环境的耗时性,方便实用。docker容器,可以将这些环境都包含在内。
- 容器/s的速度比虚拟机/min的速度快了很多。