Docker部署Gin

交叉编译

我们代码是在window下编写的,因此需要交叉编译再并放在linux下运行。
设置GOOS和GOARCH:

SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64

编译:

# 项目目录下执行,编译成功后生成exe文件
go build

创建文件夹

目录结构:
go_project:存放编译后的exe文件
Docker部署Gin_第1张图片

Docker部署Gin_第2张图片

编写Dockerfile

文件内容:
WORKDIR:进入容器的起始目录
COPY:将服务器本地目录内容复制到容器,因为此时我们我们已在WORKDIR目录下,因此容器目录写 . 即可
CMD:robot_serve为go编译后的文件

FROM alpine
WORKDIR /web/gin
COPY ./go_project .
RUN apk add bash
RUN chmod +x robot_serve
EXPOSE 8081
CMD [ "./robot_serve" ]

构建镜像:
-t:镜像名字

# 在项目目录下执行构建命令,以上图为例即robot_serve目录下
docker build -t robot_serve .

启动容器

docker run -p 8081:8081 -d robot_serve

你可能感兴趣的:(dockergingolang)