亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何使用 MariaDB 運行 dockerized Django REST Framework

如何使用 MariaDB 運行 dockerized Django REST Framework

GCT1015 2023-04-11 16:16:06
正如標題:我在使用 Docker 時遇到了切換到 MariaDB 的麻煩。只要我從磁盤本地啟動許多不同的數據庫(默認 SQLite、PostgreSQL 和 MariaDB),每個配置都可以正常工作。SQLite 和 PostgreSQL 也可以與 Docker 一起工作(Postgres 的驅動程序安裝順利),但是 MariaDB 報告獲取MariaDB Connector/C.Dockerfile:FROM python:3.8.5-alpine3.12ENV PYTHONUNBUFFERED 1COPY ./requirements.txt /requirements.txtRUN apk add libmariadb3RUN pip install -r /requirements.txtRUN mkdir /appWORKDIR /appCOPY ./app /appRUN adduser --disabled-password userUSER userdocker-compose.yml:version: "3"services:  app:    build:      context: .    ports:      - "8000:8000"    volumes:      - ./app:/app    command:      sh -c "python manage.py runserver 0.0.0.0:8000"    environment:      [...]    depends_on:      - db  db:    image: mariadb:10.5.4    environment:      [...]我得到的錯誤是:[...]Step 4/11 : RUN apk add libmariadb3 ---> Running in 5a3e568b8ac3fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gzfetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gzERROR: unsatisfiable constraints:  libmariadb3 (missing):    required by: world[libmariadb3]ERROR: Service 'app' failed to build: The command '/bin/sh -c apk add libmariadb3' returned a non-zero code: 1根據文檔,MariaDB Connector/C可以使用apt-get、yum、dnf、zypper或從源代碼安裝,但顯然不能使用apk.考慮的解決方案:下載MariaDB Connector/Ctar.gz 到項目目錄,并在構建鏡像時復制它。缺點:必須手動更新驅動程序。使用在 Ubuntu 上運行的 Python 圖像。缺點:它夠小嗎?它是否仍然受支持(在 Docker 中心的列表中不可見)?正如我上面所寫,這些解決方案似乎并不令人滿意。你知道其他配置 MariaDB 以與 Python 一起工作的方法嗎?
查看完整描述

2 回答

?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

似乎python:3.9.0b5-buster已經準備好了一切956MB:


$ cat Dockerfile 


FROM python:3.9.0b5-buster 

RUN apt-get update

RUN apt-get install libmariadb3


$ docker build -t py-booster-with-maria .


Step 3/3 : RUN apt-get install libmariadb3

 ---> Running in 40be8f94b3de

Reading package lists...

Building dependency tree...

Reading state information...

libmariadb3 is already the newest version (1:10.3.22-0+deb10u1).

libmariadb3 set to manually installed.

0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.


docker image ls | grep py-booster-with-maria


py-booster-with-maria              latest                       e7c61439835f        7 minutes ago       956MB



查看完整回答
反對 回復 2023-04-11
?
MM們

TA貢獻1886條經驗 獲得超2個贊

您是否嘗試過 mariadb-connector-c 軟件包?它提供/usr/lib/libmariadb.so.3。

RUN?apk?add?mariadb-connector-c


查看完整回答
反對 回復 2023-04-11
  • 2 回答
  • 0 關注
  • 110 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號