docker build -t在本地项目目录中创建一个 Dockerfile,定义您的容器镜像配置。然后使用以下命令构建镜像:
docker build -t your-image-name:tag .
将 your-image-name 替换为您的镜像名称,tag 替换为镜像标签。
docker login登录到您的远程镜像库
docker login
docker tag使用以下命令将本地构建的镜像标记为远程仓库地址:
docker tag your-image-name:tag your-docker-hub-username/your-repo-name:tag
docker push使用以下命令将标记后的镜像推送到远程仓库:
docker push your-docker-hub-username/your-repo-name:tag
docker pulldocker pull your-username/your-image-name:tag
$ vim ~/.zshr
export CR_PAT=YOUR_TOKEN
$ source ~/.zshrc
docker build -t 在本地项目目录中创建一个 Dockerfile,定义您的容器镜像配置。然后使用以下命令构建镜像:
docker build -t your-image-name:tag .
将 your-image-name 替换为您的镜像名称,tag 替换为镜像标签。
docker login ghcr.io登录到您的远程镜像库
docker login ghcr.io
或者使用环境变量中的令牌
$ echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin
> Login Succeeded
docker tag使用以下命令将本地构建的镜像标记为远程仓库地址:
替换 your-username 和 your-image-name 为您的 GitHub 用户名和镜像名称。
docker tag your-image-name:tag ghcr.io/your-username/your-image-name:tag
#举例
docker tag xapi-backend-image:1.0.0 ghcr.io/xiaoxiongmao5/xapi-backend:1.0.0
docker push使用以下命令将标记后的镜像推送到远程仓库:
docker push ghcr.io/your-username/your-image-name:tag
#举例
docker push ghcr.io/xiaoxiongmao5/xapi-backend:1.0.0
docker pull docker pull ghcr.io/your-username/your-image-name:tag
# syntax=docker/dockerfile:1.2
FROM golang:1.20.8-alpine AS x86_64_builder
# 设置工作目录
WORKDIR /app
COPY . .
RUN go build -o funclist main.go
# 使用 Alpine Linux 作为最终的基础镜像,这是一个轻量级的Linux发行版,通常用于构建小型Docker容器
FROM alpine:latest AS x86_64_final
# 安装 GLIBC 和其他运行时库
RUN apk --no-cache add ca-certificates libc6-compat
WORKDIR /app
COPY --from=x86_64_builder /app/funclist .
EXPOSE 8000
CMD ["./funclist"]
FROM golang:1.20.8-alpine AS arm64v8_builder
WORKDIR /app
COPY . .
RUN go build -o funclist main.go
FROM alpine:latest AS arm64v8_final
RUN apk --no-cache add ca-certificates libc6-compat
WORKDIR /app
COPY --from=arm64v8_builder /app/funclist .
EXPOSE 8000
CMD ["./funclist"]
docker buildx build -tdocker buildx build -t your-docker-hub-username/your-repo-name:tag --platform linux/amd64,linux/arm64 . --push
#举例
docker buildx build -t xiaoxiongmao5/funclist:1.0.1 --platform linux/amd64,linux/arm64 . --push