创建一个文件夹 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项目的端口
结束!