课程中的例子中是用Flask框架的web app,大致步骤如下。
首先把代码clone下来,执行git clone git@github.com:jleetutorial/dockerapp.git
有Dockerfile如下:
1 | FROM python:3.5 |
有app\app.py
,一个Flask的web app如下:
1 | from flask import Flask |
在app.py
的上层目录执行docker build -t dockerapp:v0.1 .
,构建一个docker image.
执行docker images
来查询本机上所有的docker image,可以发现dockerapp已经在列表中了。
1 | rx:dockerapp reed$ docker images |
运行一个dockerapp的container,-d
表示在后台运行,-p
表示端口映射,执行结果返回container ID。
1 | rx:app reed$ docker run -d -p 5000:5000 1661743950e7 |
然后可以用docker ps
来查询运行中的container列表。
1 | rx:app reed$ docker ps |
打开本机浏览器访问http://localhost:5000/
,即可看到web app已经在运行,并显示Hello, World!
。
进入后台中运行的container(interactive模式)并执行一些命令
1 | rx:app reed$ docker exec -it 2312dc563731 bash |
学到这里感觉docker应用很广啊,至少在配置自动化测试环境上应该很好使。