簡體   English   中英

docker 運行 mysql 圖像命令不起作用 [MacBook Pro M1]

[英]docker run mysql image command not working [MacBook Pro M1]

我正在關注多容器應用程序教程的官方 docker 實驗室動手教程。 MacBook Pro M1終端上運行以下命令時

docker run -d `
    --network todo-app --network-alias mysql `
    -v todo-mysql-data:/var/lib/mysql `
    -e MYSQL_ROOT_PASSWORD=secret `
    -e MYSQL_DATABASE=todos `
    mysql:5.7

我收到以下錯誤。

docker:清單列表條目中沒有與 linux/arm64/v8 匹配的清單。

如果其他人在遵循 Mac M1 機器上的指南時遇到此問題,最快的解決方法可能是添加標志:

--platform linux/amd64

喜歡

docker run -d \
    --platform linux/amd64 \
    --network todo-app --network-alias mysql \
    -v todo-mysql-data:/var/lib/mysql \
    -e MYSQL_ROOT_PASSWORD=secret \
    -e MYSQL_DATABASE=todos \
    mysql:5.7

歸功於 https://github.com/docker/getting-started/issues/144

當您查看官方mysql鏡像時,您可以看到沒有提及linux/arm64/v8

對於mysql docker 文檔甚至指出:

並非所有映像都可用於 ARM64 架構。 您可以添加 --platform linux/amd64 以在仿真下運行 Intel 映像。 特別是,mysql 映像不適用於 ARM64。 您可以使用 mariadb 映像解決此問題。

因此,您可以使用mariadb作為解決方法,直到他們為mysql提供官方支持,如下所示:

docker run -d \
  -v todo-mysql-data:/var/lib/mysql \
  -e MYSQL_ROOT_PASSWORD=secret \
  -e MYSQL_DATABASE=todos \
  mariadb:10.5

參見: github.com/docker-library/mysql/issues/318

如果您確實需要 mysql 映像,您可以嘗試此處同一問題中提到的解決方法。 到目前為止,我無法對此進行測試,因為我沒有 m1 macbook。

如果您正在使用 docker 撰寫您的容器 ochestration,您可以讓您的docker-compose.yaml文件鏡像類似於此

services:
  mysql:
  platform: linux/amd64
  #you can use whatever image you prefer
  image: "mysql:5.7" 
  

暫無
暫無

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

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