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)下