1. 容器(Container)
容器是 Docker 的核心概念之一。它是一个轻量级、可移植的独立运行环境,包含了应用程序及其所有依赖项。容器就像是一个小型的虚拟机,但它共享宿主机的操作系统内核,因此启动速度快,占用资源少。例如,你可以将一个 Python Web 应用程序及其依赖的库打包到一个容器中,然后在任何支持 Docker 的环境中运行这个容器。
2. 镜像(Image)
镜像是创建容器的基础模板。它是一个只读的文件系统,包含了运行应用程序所需的所有文件和配置信息。可以把镜像看作是容器的 “蓝图”,通过镜像可以创建出多个相同或不同配置的容器。例如,你可以从 Docker Hub 上拉取一个官方的 Python 镜像,然后在这个镜像的基础上添加自己的应用代码,创建一个新的镜像。
3. 仓库(Repository)
仓库是用于存储和管理镜像的地方。类似于代码仓库,Docker 仓库可以包含多个镜像,并且可以对镜像进行版本管理。Docker Hub 是 Docker 官方提供的公共仓库,你可以在上面找到各种开源的镜像。此外,你也可以搭建自己的私有仓库,用于存储和管理公司内部的镜像。
4. Dockerfile
Dockerfile 是一个文本文件,用于自动化构建 Docker 镜像。它包含了一系列的指令,这些指令告诉 Docker 如何构建镜像。例如,你可以在 Dockerfile 中指定基础镜像、安装依赖项、复制应用代码等。通过编写 Dockerfile,你可以确保镜像的构建过程可重复、可维护。
Docker 快速入门
1. 安装 Docker
首先,你需要在你的操作系统上安装 Docker。不同的操作系统安装方法略有不同:
-
Ubuntu:
bash
sudo apt-get update
sudo apt-get install docker.io
-
CentOS:
bash
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
- Windows 和 macOS:可以从 Docker 官方网站下载 Docker Desktop 进行安装。
2. 验证安装
安装完成后,你可以通过以下命令验证 Docker 是否安装成功:
bash
docker --version
如果安装成功,会输出 Docker 的版本信息。
3. 拉取镜像
你可以从 Docker Hub 上拉取一个镜像,例如拉取一个官方的 Ubuntu 镜像:
bash
docker pull ubuntu
4. 运行容器
使用拉取的镜像运行一个容器:
bash
docker run -it ubuntu bash
-
-it:表示以交互模式运行容器,并分配一个伪终端。 -
ubuntu:指定使用的镜像。 -
bash:在容器中启动一个 Bash shell。
运行这个命令后,你会进入到一个 Ubuntu 容器的命令行界面。
5. 构建自己的镜像
创建一个简单的 Python 应用程序,例如 app.py:
python
print("Hello, Docker!")
然后创建一个 Dockerfile:
Dockerfile
# 使用 Python 官方镜像作为基础镜像
FROM python:3.9-slim
# 设置工作目录
WORKDIR /app
# 复制应用代码到工作目录
COPY app.py .
# 运行应用程序
CMD ["python", "app.py"]
在包含 app.py 和 Dockerfile 的目录下,使用以下命令构建镜像:
bash
docker build -t my-python-app .
-t:指定镜像的标签,这里是my-python-app。.:表示使用当前目录作为构建上下文。
6. 运行自己的镜像
构建完成后,使用以下命令运行自己的镜像:
bash
docker run my-python-app
你会看到输出 Hello, Docker!。
7. 停止和删除容器
使用以下命令停止正在运行的容器:
bash
docker stop <容器 ID>
使用以下命令删除容器:
bash
docker rm <容器 ID>
使用以下命令删除镜像:
bash
docker rmi <镜像 ID>