添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
彷徨的青蛙  ·  [Fixed] ...·  12 小时前    · 
机灵的楼梯  ·  Python Agent in ...·  12 小时前    · 
刚分手的鼠标  ·  Setup zmqRemoteApi - ...·  12 小时前    · 
严肃的钱包  ·  Smartphone remote - ...·  12 小时前    · 
小眼睛的课本  ·  $toString ...·  1 月前    · 
活泼的黄花菜  ·  Job Search·  6 月前    · 
痴情的松鼠  ·  Paginado remoto en un ...·  7 月前    · 
sumedhn:

Is there any docker image available which comes with pre installed python and pip. I am quite new to docker.

python ?

I would highly highly recommend reading the basic Docker tutorial that covers building new images, running them, and exposing ports. The Docker Hub link above has some reference Dockerfiles for basic use cases.

I also generally recommend getting your application built, working, and tested outside Docker (probably in a virtual environment ) before trying to package it in Docker. If you look around this forum you will see a lot of people trying to inject their application into a container without building a real image; and there are a lot of questions around mechanics and permissions and not having the development tools they’re used to on their desktop. There are very established development practices around virtualenv/pip/pytest/$EDITOR that don’t require Docker (or root access on the host), and IMHO it’s better for you and your teammates to develop in an environment you’re comfortable with and use Docker mostly as a release packaging step.

https://hub.docker.com/r/sabbir1cse/ubuntu-python-pip-supervisor/

or you can create it with your own requirements:

FROM ubuntu:16.04

ENV LANG C.UTF-8
RUN apt-get update && apt-get install -y python python-dev python3.5 python3.5-dev python-pip virtualenv libssl-dev libpq-dev git build-essential libfontconfig1 libfontconfig1-dev
RUN pip install setuptools pip --upgrade --force-reinstall
RUN virtualenv /venv/testenv/ -p which python3.5
eldeberde:

RUN apt-get update && apt-get install -y python python-dev python3.5 python3.5-dev python-pip virtualenv libssl-dev libpq-dev git build-essential libfontconfig1 libfontconfig1-dev
RUN pip install setuptools pip --upgrade --force-reinstall
RUN virtualenv /venv/testenv/ -p which python3.5

There’s no point in installing and using a virtualenv in a Docker container: the container itself has its own distinct Python and library installation. Just pip install your application into the “global” (unique to your image) Python library space. I’d try not to install build-essential or purely developer-oriented tools like git in your container if at all avoidable, it’ll double the size for no benefit at runtime.

I’d recommend writing a Dockerfile like…well…what’s recommended in the python image documentation (“Create a Dockerfile in your Python app project”). Put the Dockerfile in your application’s root directory, next to your setup.py file. Your development sequence is roughly like:

(1) Check out your application using git as normal
(2) Develop your application locally
(3) Run pytest or your other preferred unit testing tool, locally
(4) Go to 2 and repeat until your tests pass
(5) Run docker build -t something .
(6) Run docker run -p ... something , which launches the server process in the built container

Note that in the last step you do not need to use -v to push your application code into the container; it gets packaged in during the docker build step (and in particular by the COPY . . line in the Dockerfile ).

for development purposes, I would just use a host volume to hold the code, instead of having to rebuild the container for every change…

once you are happy, tested, then copy the code in