1.创建一个goWeb
mkdir goWeb
2.创建 Dockerfile
touch Dockerfile
3.上传编译成功的go可执行文件 main 拖到goWeb目录里
并进行赋权
chmod 777 main
4.在Dockerfile里编写需要的基础镜像
FORM alpne:latest
COPY main /app/main
#ENTRYPOINT ["/user-srv"]
CMD ["/app/main"]
Docker 将go项目打包成Docker镜像
创建一个文件夹 goWeb:
[root@VM_0_8_centos goWeb]# ls
Dockerfile main
将编译好的go文件main,拖到goWeb内并赋权(chmod 777 main)。
在goWeb内创建文件Dockerfile,内容如下:
FROM alpine:latest
COPY main /app/main
#ENTRYPOINT [ "/user-srv" ]
CMD ["/app/main"]
其中:
alpine:是基础镜像
COPY main /app/main :main就是编译好的go项目
根据Dockerfile内容创建镜像:
复制代码
[root@VM_0_8_centos goWeb]# docker build -t go .
Sending build context to Docker daemon 16.42MB
Step 1/3 : FROM alpine
---> a24bb4013296
Step 2/3 : COPY main /app/main
---> 4c9921ace956
Step 3/3 : CMD ["/app/main"]
---> Running in 082d973e5ffc
Removing intermediate container 082d973e5ffc
---> dbc58fdcc6d0
Successfully built dbc58fdcc6d0
Successfully tagged go:latest
复制代码
其中:
-t:指定要创建的目标镜像名为go
.:Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径
查看结果,如下:
[root@VM_0_8_centos goWeb]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
go latest dbc58fdcc6d0 7 seconds ago 22MB
根据镜像创建Docker容器:
docker run -p 9112:9111 go
其中:
-p 9112:9111 : 9112是服务器IP,9111是Docker容器内的go项目的端口
这样就大功告成了!