引言
Docker 是一个开源的应用容器引擎,它允许开发者打包他们的应用以及应用的依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。本文将带你从零开始,快速上手 Docker,并教你如何使用 Docker 创建一个简单的笔记应用。
环境准备
在开始之前,请确保你的计算机上已经安装了以下软件:
- Docker Engine
- Docker Compose(可选,用于管理多容器应用)
你可以通过以下命令检查 Docker 是否已正确安装:
docker --version
安装 Docker
Windows 用户
- 访问 Docker 官方网站:https://www.docker.com/products/docker-desktop
- 下载 Docker Desktop for Windows。
- 安装 Docker Desktop,并按照提示完成安装。
macOS 用户
- 打开终端。
- 输入以下命令安装 Docker:
brew cask install docker
Linux 用户
根据你的 Linux 发行版,使用以下命令安装 Docker:
- 对于基于 Debian 的发行版(如 Ubuntu):
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io- 对于基于 Red Hat 的发行版(如 CentOS):
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安装完成后,运行以下命令启动 Docker:
sudo systemctl start docker
- 设置 Docker 开机自启:
sudo systemctl enable docker
创建 Docker 镜像
接下来,我们将创建一个简单的 Docker 镜像,用于运行一个简单的笔记应用。
- 创建一个名为
Dockerfile的文件,并添加以下内容:
# 使用官方 Python 镜像作为基础镜像
FROM python:3.8-slim
# 设置工作目录
WORKDIR /app
# 复制当前目录下的文件到工作目录
COPY . /app
# 安装依赖
RUN pip install flask
# 暴露端口
EXPOSE 5000
# 运行应用
CMD ["python", "app.py"]
- 在同一目录下创建一个名为
app.py的文件,并添加以下内容:
from flask import Flask, render_template, request, redirect, url_for
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/create', methods=['POST'])
def create():
title = request.form['title']
content = request.form['content']
with open('notes.txt', 'a') as f:
f.write(f"{title}\n{content}\n\n")
return redirect(url_for('index'))
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
- 在同一目录下创建一个名为
templates的文件夹,并在其中创建一个名为index.html的文件,并添加以下内容:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>笔记应用</title>
</head>
<body>
<h1>笔记应用</h1>
<form action="/create" method="post">
<label for="title">标题:</label>
<input type="text" id="title" name="title" required>
<label for="content">内容:</label>
<textarea id="content" name="content" required></textarea>
<button type="submit">创建笔记</button>
</form>
<h2>已创建的笔记:</h2>
<ul>
{% for note in notes %}
<li>{{ note.title }}</li>
<li>{{ note.content }}</li>
</ul>
</form>
</body>
</html>
构建并运行 Docker 容器
- 在终端中,切换到包含
Dockerfile和app.py的目录。 - 运行以下命令构建 Docker 镜像:
docker build -t note-app .
- 运行以下命令启动 Docker 容器:
docker run -d -p 5000:5000 --name note-app note-app
访问笔记应用
- 打开浏览器,输入
http://localhost:5000。 - 你将看到一个简单的笔记应用界面,可以创建和查看笔记。
总结
通过本文,你已成功从零开始,快速上手 Docker,并创建了一个简单的笔记应用。希望这篇文章能帮助你更好地了解 Docker 的基本概念和应用场景。