第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Dockerfile 中從源代碼安裝 python 包

在 Dockerfile 中從源代碼安裝 python 包

我目前正在使用 docker-compose 來使用一個 python 隊(duì)列管理器 Celery 的實(shí)例。但是,當(dāng)我擴(kuò)展我的代碼時,我希望能夠使用 Google 的 OR-tools 包。但是,如果您使用的是 python-3.6:alpine,則必須從源代碼安裝 OR-tools(如此處所述:pip install ortools: No matching distribution - Alpine)。我曾嘗試使用非高山版本的 python,但后來我遇到了 Celery 的問題,所以我認(rèn)為從源代碼安裝是前進(jìn)的方向。我對使用 Docker 比較陌生,所以我很難做到這一點(diǎn)。只需將RUN git clone -b master https://github.com/google/or-tools此處提到的其余命令添加到 Dockerfile 中:https ://developers.google.com/optimization/install/python/source_linux不起作用。它說 git 不是命令,但如果我嘗試使用RUN sudo apt install git它安裝它,它會告訴我 sudo 不是命令。我是否需要在我的 dockerfile 中添加另一個部分,例如:FROM: ubuntuRUN git clone -b master https://github.com/google/or-tools如果是這樣,這樣做的正確方法是什么,并確保它鏈接到我的 Dockerfile 的另一部分,以便我可以在 python 代碼中使用 OR-tools?碼頭文件:FROM python:3.6-alpineENV CELERY_BROKER_URL redis://redis:6379/0ENV CELERY_RESULT_BACKEND redis://redis:6379/0ENV C_FORCE_ROOT trueWORKDIR /usr/src/appCOPY requirements.txt .RUN pip install --no-cache-dir -r requirements.txtCOPY . .CMD celery -A celeryExample worker --concurrency=1 --loglevel=info 碼頭工人組成:version: '3'services:  redis:    image: redis    ports:      - 6379:6379  celery:     build:         context: .        dockerfile: Dockerfile.celery    depends_on:      - redis    volumes:         - .:/usr/src/app    要求:celeryredisrequests
查看完整描述

2 回答

?
素胚勾勒不出你

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超9個贊

您已經(jīng)非常接近它了,可以在同一執(zhí)行中從其他圖像中獲取依賴關(guān)系。

嘗試以下 Dockerfile:


FROM ubuntu

RUN apt-get update && apt-get install -y git

RUN git clone -b master https://github.com/google/or-tools

FROM python:3.6-alpine

ENV CELERY_BROKER_URL redis://redis:6379/0

ENV CELERY_RESULT_BACKEND redis://redis:6379/0

ENV C_FORCE_ROOT true

WORKDIR /usr/src/app

COPY requirements.txt .

RUN pip install --no-cache-dir -r requirements.txt

COPY . .

CMD celery -A celeryExample worker --concurrency=1 --loglevel=info


查看完整回答
反對 回復(fù) 2022-05-11
?
呼喚遠(yuǎn)方

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個贊

它說 git 不是命令,但是如果我嘗試使用 RUN sudo apt install git 安裝它,它會告訴我 sudo 不是命令。


名為的基礎(chǔ)映像python:3.6-alpine公開了用戶“root”,這意味著不需要 sudo(您已經(jīng)是 root)。在 Docker 中,您幾乎從不使用 sudo 或使用密碼登錄,因?yàn)檫@很麻煩,而且 Docker 有其他處理用戶的方式,例如USER語法:


FROM python:3.6-alpine

USER root

# All commands will be run as user root

...

USER foo

# All commands will be run as user foo

...

python:3.6-alpine沒有apt,而是使用apk。在此處閱讀有關(guān) alpine 圖像的更多信息:https ://hub.docker.com/_/alpine


不使用RUN apk add gitsudo:


FROM python:3.6-alpine

RUN apk add git

...

這樣做的正確方法是什么,并確保它鏈接到我的 Dockerfile 的另一部分,以便我可以在 python 代碼中使用 OR-tools?


我不知道正確的方法是什么,但我會嘗試使用您正在使用的基本映像在 Dockerfile 中構(gòu)建所需的依賴項(xiàng)。


查看完整回答
反對 回復(fù) 2022-05-11
  • 2 回答
  • 0 關(guān)注
  • 232 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號