go程序docker容器运行

1、打包

在dos窗口,cd到main.go所在目录,执行命令

set GOARCH=amd64
set GOOS=linux
go build main.go


#h或者
$Env:GOARCH="amd64";$Env:GOOS="linux" 

打包后会生成一个main程序,假设叫 mes-pushgateway,linux下运行 ./mes-pushgateway

2、编写Dockerfile

FROM ubuntu:22.10

COPY mes-pushgateway  /app/

WORKDIR /app/

ENTRYPOINT ["./mes-pushgateway"]

EXPOSE 8000

3、构建镜像

将push、Dockerfile放在一个目录下

[root@localhost docker]# docker build -t mep-pushgateway:sdmk .
Sending build context to Docker daemon  12.11MB
Step 1/5 : FROM ubuntu:22.10
 ---> 15a38249db7a
Step 2/5 : COPY mes-pushgateway  /app/
 ---> 9b3c8f32cbbe
Step 3/5 : WORKDIR /app/
 ---> Running in 38dd858c9e38
Removing intermediate container 38dd858c9e38
 ---> 340ecd48db7f
Step 4/5 : ENTRYPOINT ["./mes-pushgateway"]
 ---> Running in 6d6d8ad4c5bc
Removing intermediate container 6d6d8ad4c5bc
 ---> 30995b0d7094
Step 5/5 : EXPOSE 8000
 ---> Running in d8ff0bbebfc4
Removing intermediate container d8ff0bbebfc4
 ---> ed76634ffba5
Successfully built ed76634ffba5
Successfully tagged mep-pushgateway:sdmk


4、启动

[root@localhost docker]# docker run --name mep-pushgateway -d -p 8000:8000 mep-pushgateway:sdmk
d39535e25e52225e11553695dbfaf5bc5c0c702590a88212950802f7047155c8
[root@localhost docker]# docker ps
CONTAINER ID   IMAGE                                          COMMAND                  CREATED         STATUS         PORTS                                                                                          NAMES
d39535e25e52   mep-pushgateway:sdmk                           "./mes-pushgateway"      3 seconds ago   Up 3 seconds   0.0.0.0:8000->8000/tcp, :::8000->8000/tcp                                                      mep-pushgateway

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值