什么是Docker镜像
Docker镜像是一个只读的模板,用于创建Docker容器。它包含运行应用程序所需的所有必需组件,如操作系统、应用程序、库、环境变量等。镜像类似于虚拟机的镜像,但它们更轻量级和可移植。
Docker镜像与容器的关系
- 镜像:静态模板,包含应用程序及其所有依赖项。
- 容器:从镜像创建的运行实例,可以启动、停止、删除等。
创建Docker镜像
编写Dockerfile
Dockerfile是一个包含一系列指令的文本文件,用于构建Docker镜像。以下是一个简单的Dockerfile示例:
# 使用官方Python 3镜像作为基础镜像
FROM python:3.8-slim
# 设置工作目录
WORKDIR /app
# 复制当前目录下的要求文件到工作目录
COPY . .
# 安装Python依赖
RUN pip install --no-cache-dir -r requirements.txt
# 暴露端口
EXPOSE 5000
# 运行应用程序
CMD ["python", "app.py"]
构建镜像
在包含Dockerfile的目录下,运行以下命令构建Docker镜像:
docker build -t my-python-app .
这里,my-python-app
是镜像的名称,.
表示当前目录。
运行容器
使用构建的镜像运行一个容器:
docker run -d -p 8000:5000 my-python-app
这个命令会在后台运行一个容器,并将主机的8000端口映射到容器的5000端口。
使用Docker镜像
搜索镜像
使用以下命令搜索远程镜像:
docker search [image]
例如,搜索nginx镜像:
docker search nginx
拉取镜像
使用以下命令拉取镜像:
docker pull [image:[tag]]
例如,默认下载最新版本的nginx:
docker pull nginx
查看本地镜像
使用以下命令查看本地镜像:
docker images
删除镜像
使用以下命令删除镜像:
docker rmi [image ID]
例如,删除名为nginx的镜像:
docker rmi nginx
总结
Docker镜像是一种轻量级、可移植的模板,用于创建Docker容器。通过编写Dockerfile,您可以轻松创建自定义的Docker镜像。掌握Docker镜像的基本概念和操作,将有助于您更高效地构建和部署应用程序。