Docker 是一个开源的应用容器引擎,它允许开发者打包他们的应用以及应用的依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。Docker 的目标是通过提供简单、可执行的方式来进行应用交付和部署。
本文将带领你从零开始,通过一系列实战案例,让你轻松掌握 Docker 的基本使用方法,包括如何高效部署和管理容器化应用。
Docker 的基本概念
在开始实战之前,我们需要了解一些 Docker 的基本概念:
- 容器(Container):Docker 容器是标准化的可执行组件,可以打包、分发和运行应用程序。
- 镜像(Image):Docker 镜像是容器的模板,用于创建容器。
- 仓库(Repository):Docker 仓库是存储镜像的地方,可以在线或本地使用。
- Dockerfile:Dockerfile 是一个包含用于构建镜像的指令的文本文件。
安装 Docker
首先,我们需要在计算机上安装 Docker。以下是安装 Docker 的步骤:
- 下载 Docker:访问 Docker 官网(https://www.docker.com/)下载适用于你操作系统的 Docker 安装包。
- 安装 Docker:按照安装包提供的指示进行安装。
- 验证安装:打开终端或命令提示符,输入
docker --version查看 Docker 版本信息。
实战案例:部署一个简单的 Web 应用
以下是一个简单的实战案例,我们将使用 Docker 部署一个基于 Python 的 Web 应用。
- 创建 Dockerfile:在 Web 应用的目录下创建一个名为
Dockerfile的文件,并添加以下内容:
# 使用官方 Python 镜像作为基础镜像
FROM python:3.7-slim
# 设置工作目录
WORKDIR /app
# 将应用代码复制到工作目录
COPY . /app
# 安装依赖
RUN pip install -r requirements.txt
# 暴露端口
EXPOSE 80
# 运行应用
CMD ["python", "app.py"]
- 构建镜像:在终端或命令提示符中,切换到
Dockerfile所在的目录,并执行以下命令:
docker build -t my-web-app .
- 运行容器:执行以下命令运行容器:
docker run -d -p 8080:80 my-web-app
这里,-d 参数表示以守护进程模式运行容器,-p 8080:80 参数表示将宿主机的 8080 端口映射到容器的 80 端口。
- 访问应用:在浏览器中访问
http://localhost:8080,你应该能看到你的 Web 应用。
高效管理容器化应用
Docker 提供了丰富的命令来管理容器化应用,以下是一些常用的命令:
- docker ps:列出当前正在运行的容器。
- docker ps -a:列出所有容器,包括已停止的容器。
- docker start [容器ID或名称]:启动一个已停止的容器。
- docker stop [容器ID或名称]:停止一个正在运行的容器。
- docker rm [容器ID或名称]:删除一个容器。
- docker rmi [镜像ID或名称]:删除一个镜像。
总结
通过本文的实战案例,你应该已经掌握了 Docker 的基本使用方法。Docker 是一个强大的工具,可以帮助你高效部署和管理容器化应用。希望本文能帮助你轻松入门 Docker,并在实际工作中发挥其优势。
