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

来源:互联网 发布:陈自强 知乎 编辑:程序博客网 时间:2024/06/08 02:52

时间过得真快,一眨眼一个多月没更新了,但这一个月我可没偷懒啊,真的是忙。粘上两篇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.
  • You can get help from http://supervisord.org/running.html#adding-a-program to see how to write “programs.conf”.

– Build image –

First, add your “Dockerfile”:
FROM zhengxiaoyao0716/flaskMAINTAINER ${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
0 0
原创粉丝点击