最近的两个小项目,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.
- 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/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
爱冷剑,怜悲箫,月下狼孤啸;
轻点画,慢勾描,云中人逍遥。