在项目的根目录目录创建一个Dockerfile文件

# 使用官方的 Golang 镜像作为基础镜像
FROM golang:alpine

# 在容器内创建一个目录来存放我们的应用代码
RUN mkdir $GOPATH/src/app

# 将工作目录切换到 /app
WORKDIR $GOPATH/src/app
# 启用模块支持
ENV GO111MODULE=on
# 更改镜像
ENV GOPROXY="https://mirrors.aliyun.com/goproxy/"

# 将当前目录下的所有文件拷贝到工作目录
COPY . .
# 编译 Go 应用程序
RUN go build -o myapp .
# 给予编译好的文件执行权限
RUN chmod +x ./myapp
# 暴露 6888 端口
EXPOSE 6888

# 运行应用程序
CMD ["./myapp","serve"]

创建镜像

docker build -t users_grpc:v1 .
  • t:用来设置版本号
  • .:用来在当前目录查找Dockerfile文件

注意

  • 如果你本地还没有golang:alpine镜像的话,你需要先执行以下命令
    docker pull golang:alpine

创建容器

docker stop user_center
docker rm user_center
docker run -it --name user_center -d  --restart=always  -p 6888:6888  --network qnear  users_grpc

登录

docker login

为镜像打tag

d tag users_grpc:v1  user_name/users_grpc

将你的镜像推到你的仓库

docker push user_name/users_grpc

进入容器

  • Alpine 默认使用 ash/bin/sh)作为 shell,而不是 bash
docker exec -it user_center /bin/sh

Tags:

Comments are closed

       

粤公网安备44011302004556号