mac M1上安装mysql镜像--platform linux/x86_64

docker pull mysql --platform linux/x86_64

docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

docker cp mysql:/etc/mysql /Users/tanli/Downloads/docker

#!/bin/sh
docker run
-p 3306:3306
–name mysql
–privileged=true
–restart unless-stopped
-v /Users/tanli/Downloads/docker/mysql:/etc/mysql
-v /Users/tanli/Downloads/docker/mysql/logs:/logs
-v /Users/tanli/Downloads/docker/mysql/data:/var/lib/mysql
-v /etc/localtime:/etc/localtime
-e MYSQL_ROOT_PASSWORD=123456
-d mysql:latest

CREATE USER tanli@127.0.0.1 IDENTIFIED WITH mysql_native_password BY ‘123456’;

GRANT Alter, Alter Routine, Create, Create Routine, Create Temporary Tables, Create User, Create View, Delete, Drop, Event, Execute, File, Grant Option, Index, Insert, Lock Tables, Process, References, Reload, Replication Client, Replication Slave, Select, Show Databases, Show View, Shutdown, Super, Trigger, Update ON . TO tanli@127.0.0.1;

### 构建适用于 Linux AMD64 平台的 FastAPI 镜像 为了构建一个针对 Linux AMD64 平台的 FastAPI 镜像并打上标签 `fastapi-h`,可以通过 Docker 的 `--platform` 参数来实现跨平台构建。以下是具体的解决方案: #### 使用 Docker Build 命令 如果当前主机并非基于 AMD64 架构(例如 Mac M1),则需要显式指定目标平台为 `linux/amd64`。这可以通过在 `docker build` 中加入 `--platform` 参数完成。 ```bash docker build --platform linux/amd64 -t fastapi-h . ``` 上述命令会告诉 Docker 构建工具为目标架构 `linux/amd64` 创建镜像[^1]。 #### 启用 Buildx 插件支持多平台构建 对于更复杂的场景或多平台需求,推荐使用 Docker Buildx 工具链。Buildx 提供了更强的灵活性和功能扩展能力。具体操作如下: 1. **创建自定义 builder 实例** ```bash docker buildx create --use --name multi-platform-builder ``` 2. **执行多平台构建** 下面的命令不仅限于单个平台,还可以一次性生成多个平台版本镜像。 ```bash docker buildx build --push --platform linux/amd64 -t fastapi-h . ``` 此方法同样兼容单一平台的需求,并且能够更好地处理复杂环境下的依赖关系[^4]。 #### 示例 Dockerfile (FastAPI 应用基础配置) 下面是一个简单的 Dockerfile 文件模板用于部署 FastAPI 应用程序: ```Dockerfile # Base Image FROM python:3.9-slim-buster AS base # Set working directory WORKDIR /app # Install dependencies RUN apt-get update && \ apt-get install -y gcc && \ pip install --upgrade pip setuptools wheel # Copy requirements and install Python packages COPY ./requirements.txt /app/requirements.txt RUN pip install --no-cache-dir -r requirements.txt # Copy application code into the container COPY . . # Expose port that your app runs on EXPOSE 8000 # Define environment variable to disable debug mode in production ENV PYTHONUNBUFFERED=1 # Command to run when launching a new container from this image. CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"] ``` 注意,在实际开发过程中可能还需要调整某些细节以适应特定项目结构或框架版本差异[^3]。 #### 关键注意事项 - 当前工作目录应包含完整的应用源码及其依赖清单文件(如 `requirements.txt`)以便正常复制到容器内部。 - 若遇到权限错误或其他异常情况,请确认已正确设置了实验特性开关或将必要选项传递给编译器环境变量中,比如设置 `CGO_ENABLED=0`, `GOOS=linux`, 和 `GOARCH=amd64` 对 Golang 编程语言的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值