Convierta su propio servicio en una imagen acoplable

Objetivo

El artículo anterior presentó cómo instalar k8s en dos Tencent Clouds. Este artículo creará una imagen de docker en el maestro k8s (Tencent Cloud xxxx) y ejecutará el servicio hecheng_be en docker para facilitar la implementación posterior de este docker en k8s.

Construcción del entorno

1. Instalar git

yum install -y git
复制代码

imagen.png

2. Tire del código de github al directorio especificado

cd /home/workspaces/go/src/hecheng_be

git clone https://github.com/XXX/hecheng_be.git
复制代码

Escribir archivo Dock

FROM golang:1.17.5

WORKDIR /app


# 使用阿里源替换 debian 源
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list
RUN apt-get update && \
    apt-get install unzip && \
    apt-get install libprotobuf-dev -y

ENV HOME=/root


COPY go.mod go.sum ./
ENV GO111MODULE=on
ENV GOPROXY=https://goproxy.cn
RUN git config --global url.https://[email protected]/treelab/.insteadOf https://github.com/treelab/

RUN go install github.com/cosmtrek/air@latest
RUN go install github.com/go-delve/delve/cmd/dlv@latest
RUN go install github.com/golang/mock/[email protected]
RUN go install github.com/vektra/mockery/v2/.../


ENV PATH="${PATH}:${HOME}/.local/bin"

RUN go mod download

COPY . .

EXPOSE 50051 8080 2345

CMD ["air", "-c", ".air.toml"]

复制代码

3. Haz una imagen acoplable

docker build -f Dockerfile -t docker_repo_usename/hecheng_be_docker_image .
复制代码

Tenga en cuenta que el nombre aquí debe ser docker_repo_usename/iamge_name; de ​​lo contrario, no se puede enviar al extremo remoto. Ver después de completar la producción

docker image ls
复制代码

imagen.png

4. Empuje el espejo creado hasta el otro extremo

Iniciar sesión

docker login
复制代码

empujar hasta el final

docker push docker_repo_usename/hecheng_be_docker_image
复制代码

El siguiente artículo presentará la ejecución de esta imagen en k8s

referencia

[1] dockerfile crea una imagen acoplable

Supongo que te gusta

Origin juejin.im/post/7087511347529220133
Recomendado
Clasificación