最近的两个小项目,2:Python webapp的docker镜像

时间过得真快,一眨眼一个多月没更新了,但这一个月我可没偷懒啊,真的是忙。粘上两篇ReadMe勉强凑合一下,保持博客更新是好习惯。

基于Flask框架,uwsgi起服务,supervisor做管理,应该算是很灵活的了。

flask - docker

Docker image of python webapp.

Pre-installed uwsgi & supervisor, base on python:2.7-alpine


– File structure –

path/to/app
    - src  # Put your webapp(s) source code hear.
        -- static
        -- templates
        -- application.py
        ...
        # Folder|module is permitted hear for more then one app.
        -- app1
            ...
        -- app2
            ...
        ...
    - share  # Used to share with host|other-contains.
        -- static/...  # Convenience to service static files by nginx.
        -- tmp/uwsgi.sock  # Convenience to connect.
        -- app3  # Convenience to develop and debug.
        ...
    - programs.conf  # Config-file for supervisor.
    - requirements.txt  # Install your dependencies.

– Build image –

First, add your “Dockerfile”:
FROM zhengxiaoyao0716/flask

MAINTAINER ${your name}

EXPOSE  port1 port2 ...
Now, you can build your webapp image:
docker build -t <yourImageName> .

– Start container –

docker run --name <appName> \
    -p <host-port>:<port> \
    -v <volumeDir>:/web/share \
    -d <yourImageName>
  • –name= Assign a name to the container
  • -p, –publish=[] Publish a container’s port(s) to the host
  • -v, –volume=[] Bind mount a volume
  • -d, –detach=false Run container in background and print container ID

Now your container will running in background.

Maybe you need to enter it:
docker exec -it <appName> /bin/sh
posted @ 2016-04-27 12:56  正逍遥0716  阅读(270)  评论(0编辑  收藏  举报