网站首页 > 资源文章 正文
文章目录:
- 目标
- 镜像 GolangAlpine
- 端口映射 占用本地端口 8081
- 备注 Dockerfile
文章使用到的软件:
- Mac 12.0 Beta(macOS Monterey),处理器为:M1
- Portainer.io:2.5.1
- Docker:20.10.6
目标
- 快速部署 Golang 应用
构建Dockerfile
- Golang 网址[1]
- Alpine 网址[2]
- Goproxy 网址[3]
FROM golang as build
# 配置模块代理
ENV GOPROXY=https://goproxy.cn,direct
ADD . /www
# 进入工作目录
WORKDIR /www
# 打包鲲鹏架构
# RUN CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -o go_server
# 打包AMD64架构
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o go_server
# 设置时区,未验证
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
FROM alpine:3.7
# 配置国内源
RUN echo "http://mirrors.aliyun.com/alpine/v3.7/main/" > /etc/apk/repositories
RUN apk update
RUN apk add ca-certificates
# dns
RUN echo "hosts: files dns" > /etc/nsswitch.conf
# 创建文件夹(根据个人选择)
RUN mkdir -p /www/conf /www/runtime/
WORKDIR /www
# 复制打包的Go文件到系统用户可执行程序目录下
COPY --from=build /www/go_server /usr/bin/go_server
# 复制程序配置文件(根据个人选择)
ADD ./conf /www/conf
# 设置Go程序权限
RUN chmod +x /usr/bin/go_server
# 容器启动时运行的命令
ENTRYPOINT ["go_server"]
打包Docker镜像
docker build --rm -t temp/go-test .
部署Go程序
我是通过Portainer[4]来运行的,可视化的容器镜像的图形管理工具
version: '2'
services:
go:
# 镜像
image: temp/go-test:latest
# 自动启动
restart: always
ports:
# 端口映射:左边为宿机端口、右边为容器端口
- 8081:8081
方式二:
docker run -d -p 8081:8081 --name go_test --restart=always temp/go-test
参考资料
[1]
Golang Docker镜像网址: https://registry.hub.docker.com/_/golang
[2]
Alpine Docker镜像网址: https://registry.hub.docker.com/_/alpine
[3]
Goproxy 代理网址: https://goproxy.cn/
[4]
Portainer 官网: https://www.portainer.io/
猜你喜欢
- 2024-10-14 手机内存不足?不要胡乱清理了,学会了让手机空间瞬间释放!
- 2024-10-14 「GCTT 出品」Golang 中的微服务-第二部分-Docker 和 go-micro
- 2024-10-14 口袋妖怪Go新版本更新分析解读 0.23.1更新内容
- 2024-10-14 Oculus CTO: Quest仍然支持安装第三方APK
- 2024-10-14 Pokemongo虚拟定位教程 Pokemongo电脑版虚拟定位怎么设置?
- 2024-10-14 Pokemon go PC版安装教程 pokemongo电脑版gps模拟器安装
- 2024-10-14 口袋妖怪go手环最新消息 手环功能详解
- 2024-10-14 最简单的Go Dockerfile编写姿势,没有之一
- 2024-10-14 512MB内存都不卡 谷歌亲自为安卓开发手机管家
- 2024-10-14 干货分享:用 Go 从头实现一个迷你 Docker—Gocker
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)