在公司求助于同事才勉强看懂经理写的 Dockerfile,于是打算自己浅学一下🧐
理解 Docker 的基本概念
Docker 是一种开源平台和工具,用于轻松地创建、部署和运行应用程序和服务。它采用容器化技术,允许开发人员将应用程序及其依赖项打包到一个独立的容器中,从而实现了应用程序的可移植性、可伸缩性和快速部署。你也可以把它理解为一个轻量的虚拟机,它只虚拟你软件需要的运行环境。
容器(Container)
容器是 Docker 的核心概念,它是一个独立的、可执行的软件包,包括应用程序、运行时环境和依赖项。容器隔离了应用程序与主机系统和其他容器之间的环境,确保应用程序在不同环境中具有一致的行为。
镜像(Image)
镜像是容器的模板。它包含了一个应用程序的文件系统、运行时环境和配置信息。镜像是只读的,用于创建容器实例。Docker 镜像可以从 Docker Hub 或其他镜像仓库下载,也可以通过 Dockerfile 自定义创建。
Dockerfile
Dockerfile 是一个文本文件,其中包含了用于构建 Docker 镜像的指令和配置信息。Dockerfile 定义了容器的基础配置、依赖项和启动命令等信息。
镜像仓库(Registry) 镜像仓库是存储和分享 Docker 镜像的地方。Docker Hub 是最知名的公共镜像仓库,但你也可以搭建自己的私有镜像仓库。镜像仓库提供了方便的镜像分发和版本管理功能。
容器编排(Orchestration)
容器编排是管理和协调多个容器实例的过程。Docker 提供了多种容器编排工具,如 Docker Compose 和 Kubernetes,用于自动化容器的部署、伸缩和管理。
Docker 客户端和守护进程
Docker 客户端是与 Docker 交互的命令行工具或 API,允许用户创建、启动、停止和管理容器。Docker 守护进程是在主机上运行的服务,负责实际创建和管理容器。
网络和存储
Docker 提供了各种网络和存储选项,用于连接容器和管理数据。用户可以配置容器之间的通信方式以及如何持久化数据。
Docker 安装软件的优点
- 一个命令就可以安装好,快速方便
- 有大量的镜像,可直接使用
- 没有系统兼容问题,Linux 专享软件也照样跑
- 支持软件多版本共存
- 用完就丢,不拖慢电脑速度
- 不同系统和硬件,只要安装好 Docker 其他都一样了,一个命令搞定所有
演示 Docker 安装 Redis
在 Docker 官方镜像仓库查找 Redis:https://hub.docker.com
执行 docker run -d -p 6379:6379 --name redis redis:7.2.2
run
: 在新容器中运行命令,根据需要拉取映像并启动容器-d
: 在后台运行容器并打印容器 ID-p
: 将容器的端口发布到主机--name
: 为容器指定名称
更多 CLI 命令请参考 Docker CLI