由来 Multi-stage builds are a new feature in Docker 17.05 官方文档讲述多步构建的示例是一个Go程序,Go程序本身就可以编译成可执行文件,所以使用多步构建很容易。这么好玩的功能必须要用Python实践一下咯。 Demo Demo目录 tornado-multi-stage/ docker-compose.yml Dockerfile requirements.txt run.py requirments.txt:依赖Tornado tornado==4.5.1 run.py:程序入口 程序实现的功能:接收到GET请求后返回Hello World import tornado.ioloop import tornado.web class MainHandler(tornado.web.RequestHandler): def get(self): self.write("Hello World") def make_app(): return tornado.web.Application([ (r"/", MainHandler), ]) if __name__ == "__main__": app = make_app() app.listen(8888, '0.0.0.0') tornado.ioloop.IOLoop.current().start() docker-compose.yml 没做什么特别的事情,就做了一下端口映射 version: "3" services: web: build: . ports: - 8888:8888 Dockerfile:重点 FROM python:3.……

阅读全文