簡體   English   中英

從ubuntu基本映像和python基本映像構建docker之間的區別?

[英]difference between building a docker from ubuntu base image and python base image?

Docker新手在這里。

我正在閱讀有關如何使用Docker設置Django webapp的文檔 ,但我意識到dockerfile使用

FROM python:2.7

我是否仍可以使用相同的dockerfile內容,但將其更改為

FROM ubuntu:14.04

並使其與適用於Django 1.8.1的python 2.7或3.4配合使用?

使用ubuntu,您可以運行Django應用。 您只需要為其安裝依賴項(例如,使用Dockerfile中的說明)。

在您的Dockerfile中,添加類似以下內容:

RUN apt-get install python
RUN apt-get install django

如果未在新的基本映像中實現某些命令,則可能還需要用它們的等效命令替換它們(例如,如果使用archlinux而不是ubuntu ,請用pacman替換apt-get )。

但是,如果您使用django,也可以安裝和使用pip。

docker FROM指令指定用於開始構建映像的基本映像。

如果轉到python:2.7 dockerfile,您將看到它指定了下一個:

FROM buildpack-deps:jessie

這意味着該圖像將使用圖像buildpack-deps:jessie,並且最重要的是它將構建所有與python相關的依賴項。

您可以將其視為應用程序層。 您設置基本映像(在FROM語句中),然后安裝啟動應用程序所需的任何內容。

例:

我需要安裝了wget的映像,所以我制作了一個類似於以下內容的Dockerfile:

FROM debian:jessie
RUN apt-get update && apt-get install wget
...

我可以將此圖像稱為: wgetimage 然后,如果我需要一個wget容器來下載somethind,則可以使用以下圖像:

FROM wgetimage
RUN wget ....

在這種特定情況下,ubuntu基本映像將沒有與python相關的軟件包,因此您需要將它們添加到Dockerfile上。 如果您只需要啟動python應用程序,則最好使用python:2.7(或python:3.4)作為基本映像。

希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM