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镜像的资料请关注脚本之家其它相关文章!