Golang

关注公众号 jb51net

关闭
首页 > 脚本专栏 > Golang > go alpine编译arm镜像

golang程序使用alpine编译出最小arm镜像实现

作者:阿亮说技术

这篇文章主要为大家介绍了golang程序使用alpine编译出最小arm镜像,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

golang程序使用alpine编译出最小arm镜像

基础镜像准备

如果想要打arm架构的镜像就在arm的机器上执行,如果想打amd的镜像就在amd机器上执行, 会自己根据机器的架构来下载基础镜像。

这里我以arm架构的机器为例

查看Dockerfile

FROM alpine:latest
# 设置时区为上海
RUN apk add tzdata &&cp /usr/share/zoneinfo/Asia/Shanghai/etc/localtime \
	&&echo "Asia/Shanghai">/etc/timezone \
	&&apk del tzdata

编译镜像命令,把它做为基础镜像 docker build -t 192.168.1.187/library/alpine-arm64-go:v1.0 .

golang程序编译镜像

编译Dockerfile如下

FROM 192.168.1.187/library/alpine-arm64-go:v1.0
COPY analysis /opt/analysis
RUN chmod +x /opt/analysis
ENTRYPOINT ./opt/analysis -MQTT_IP $MQTT_IP -MQTT_PORT $MQTT_PORT -MQTT_USERNAME $MQTT_USERNAME -MQTT_PASSWORD $MQTT_PASSWORD

编译命令 docker build -t 192.168.1.187/library/arm64-analysis:v1.0 .

运行

在前面的Dockerfile中,我们加入的环境变量,启动的时候需要设置环境变量启动

docker run -d --name analysis --restart=always -e MQTT_IP=192.168.1.188 -e MQTT_PORT=1883 -e MQTT_USERNAME=admin -e MQTT_PASSWORD=liang_2023 192.168.1.187/library/arm64-analysis:v1.0

以上就是golang程序使用alpine编译出最小arm镜像实现的详细内容,更多关于go alpine编译arm镜像的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文