在项目的根目录目录创建一个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文件
注意
创建容器
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
Comments are closed