1.准备工作
准备一段go语言编写的程序。将你在Windows编写好的go程序传输到自己的Docker服务器上。我的做法:
1.将golang程序打包,通过Xftp传输到我新建的go文件夹下,操作如下:

[root@docker1 scdocker]# mkdir go
[root@docker1 scdocker]# ls
apiserver go
[root@docker1 scdocker]# cd go
[root@docker1 go]# cp /scdocker/apiserver/apiserver/scweb .
[root@docker1 go]# ls
scweb

注意这里scweb是已经编写好的go代码编译成二进制程序!!!且scweb程序执行不需要golang语言环境!
2.编写Dockerfile
在go目录下编写Dockerfile,vim Dockerfile
[root@docker1 go]# cat Dockerfile
FROM centos:7
WORKDIR /go
COPY . /go
RUN ls /go && pwd
ENTRYPOINT ["/go/scweb"]

完成后,ls查看,必须要有二进制程序scweb + Dockerfile!!!
3.制作镜像
制作镜像scweb,tag为1.0的镜像,执行docker build -t scweb:1.0
[root@docker1 go]# docker build -t scweb:1.0
ERROR: "docker buildx build" requires exactly 1 argument.
See 'docker buildx build --help'.
Usage: docker buildx build [OPTIONS] PATH | URL | -
Start a build
[root@docker1 go]# docker build -t scweb:1.0 .
[+] Building 0.7s (9/9) FINISHED
查看镜像

4.启动容器
执行docker run -d -p 5535:8000 --name jiang-web-1 scweb:1.0
[root@docker1 go]# docker run -d -p 5535:8000 --name jiang-web-1 scweb:1.0
06a61d4c2af7817eec853f31acf65fc360ef75a1f8723e179e4ace72398878a8
查看

5.测试
在其他机器上访问宿主机的5535端口(http://192.168.1.132:5535/sd/disk)下

该文章描述了如何在Docker环境中部署Go语言编译的二进制程序。首先,将程序传输到Docker服务器,然后编写Dockerfile,基于CentOS创建镜像。接着,通过dockerbuild命令制作镜像,并启动容器。最后,测试通过访问宿主机的特定端口来确认程序运行正常。
1083

被折叠的 条评论
为什么被折叠?



