什么是Docker
Docker 是一种容器化工具,可以更轻松地使用容器创建、部署和运行应用程序。
这个不是本文的重点,具体概念可以找一下相关的文章。
如何配置项目
项目的目录结构
创建一个flask-docker的应用,应用程序的目录结构如下:
代码语言:shell复制**flask-docker**
├── app.py
├── Dockerfile
├── requirements.txt
文件内容说明
app.py
代码语言:python代码运行次数:0复制from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello world! Flask Docker!!'
if __name__ == "__main__":
app.run(debug=True)
现在,直接在命令行运行python app.py来测试这个 Flask的hello world 应用程序
代码语言:shell复制python app.py
我们应该会得到类似于下面的输出结果:
代码语言:shell复制* Serving Flask app 'app' (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: on
* Running on http://127.0.0.1:5000/ (Press CTRL C to quit)
* Restarting with stat
Dockerfile内容:
代码语言:shell复制#使用的基础镜像
FROM python:3.8.10
#设置工作目录
WORKDIR /app
#复制requirements.txt
COPY requirements.txt requirements.txt
#安装依赖包
RUN pip install -r requirements.txt
#复制当前目录下的内容到docker中
COPY . .
#启动命令
ENTRYPOINT [ "python", "-m" , "flask", "--app","app.py", "run", "--host=0.0.0.0","--port=8000"]
Dockerfile的基本内容,具体的解释已经在文件中,这里就不多说了
如何构建 Docker 镜像
接下来,就是构建Docker镜像。主要使用“docker build
”命令,具体如下。
docker build --tag flask-docker .
如何查看镜像
通过“docker images” 可以查看所有的镜像,具体如下:
代码语言:shell复制docker images
命令执行后,输出如下所示:
代码语言:shell复制REPOSITORY TAG IMAGE ID CREATED SIZE
flask-docker latest cd52b70b361a About an hour ago 912MB
python 3.8.10 587b1bc803b3 7 months ago 885MB
如何运行容器
接下来就可以使用docker run
命令,运行image。
docker run --name flask-docker-v1 -dit -p 8000:8000 flask-docker:latest
运行结束后,可以通过http://localhost:8000进行验证
如何查看容器
我们可以使用“docker ps"命令来查看当前有哪些容器在运行,具体命令如下:
代码语言:shell复制docker ps
输出如下:
代码语言:shell复制CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a173935297cd flask-docker "python -m flask ru…" 5 minutes ago Up 5 minutes 0.0.0.0:8000->8000/tcp good_wescoff
如何停止容器
要停止当前正在运行的容器,我们可以执行“docker stop"命令,具体命令如下:
代码语言:shell复制docker stop <container-id>
如何删除容器
代码语言:python代码运行次数:0复制docker rm <container-id>