【实战篇】docker-compose部署go项目

一、场景:

二、需求

三、实操

[Stage 1:GoLand 中 build 生成二进制文件](#Stage 1:GoLand 中 build 生成二进制文件)

[Stage 2:编写 Dockerfile](#Stage 2:编写 Dockerfile)

[Stage 3:编写 docker-compose.yaml](#Stage 3:编写 docker-compose.yaml)

[Stage 4:文件上传到 ubuntu 服务器上,并设置文件读写权限](#Stage 4:文件上传到 ubuntu 服务器上,并设置文件读写权限)

[Stage 5:运行 docker-compose](#Stage 5:运行 docker-compose)

[Stage 6:查看运行效果](#Stage 6:查看运行效果)

四、问题

[A. docker + docker-compose 安装](#A. docker + docker-compose 安装)

[B. 运行docker-compose后,进入go项目入容器报错 Permission denied](#B. 运行docker-compose后,进入go项目入容器报错 Permission denied)


一、场景:

开发工具:GoLand 2023.1.4

go项目文件:qingdaoHJ212.go

服务器:ububtu 22

二、需求

使用docker-compose部署qingdao.go

三、实操

Stage 1:GoLand 中 build 生成二进制文件

  • 生成 qingdaoHJ212

Stage 2:编写 Dockerfile

复制代码
FROM alpine:3.12

# 解决时区问题
RUN apk add --no-cache tzdata

ENV TZ Asia/Shanghai

COPY qingdaoHJ212 .

CMD ./qingdaoHJ212

Stage 3:编写 docker-compose.yaml

复制代码
version: '3.1'

services:
  qingdaohj212:
    image: qingdaohj212:v2
    container_name: qingdaohj212-new
    build: .
    restart: always

Stage 4:文件上传到 ubuntu 服务器上,并设置文件读写权限

复制代码
# 进入目录
cd /mnt/docker/qingdaoHJ212-new/

# 设置文件读写权限
chmod a+x qingdaoHJ212

Stage 5:运行 docker-compose

复制代码
# 进入目录
cd /mnt/docker/qingdaoHJ212-new/

# 运行编排文件
docker-compose up -d --build

Stage 6:查看运行效果

  • docker ps

四、问题

A. docker + docker-compose 安装

点击进入

B. 运行docker-compose后,进入go项目入容器报错 Permission denied

  • 原因:go二进制文件【qingdaoHJ212】需要设置读写权限
  • 解决方案:chmod a+x qingdaoHJ212
相关推荐
张忠琳17 小时前
【NVIDIA】 NVIDIA Container Toolkit v1.19.1 — OCI 模块超深度分析之三
云原生·容器·架构·kubernetes·nvidia
ttwuai17 小时前
Cursor 生成 CRUD 后,Go 后台接口别只测 200:JWT、RBAC 和 tenant_id 怎么验
开发语言·后端·golang
Elastic 中国社区官方博客18 小时前
将你的 Grafana Kubernetes 仪表板迁移到 Elastic Observability:相同的 PromQL,30 倍更快的查询
大数据·人工智能·elasticsearch·搜索引擎·容器·kubernetes·grafana
风曦Kisaki21 小时前
#企业级docker私有仓库构建:harbor仓库与阿里云镜像仓库
阿里云·docker·容器
期待着201321 小时前
docker 安装 ,在centos7.9
运维·docker·容器
布朗克16821 小时前
Go 入门到精通-31-编码与序列化
开发语言·qt·golang·编码与序列化
骑上单车去旅行1 天前
Docker Compose 命令完全指南:从构建到运维
docker·容器·eureka
前端Baymax1 天前
K8s PodCrashLoopBackOff假阳性排查
云原生·容器·kubernetes
spider_xcxc1 天前
K8s 部署学习笔记
docker·容器·kubernetes·云计算·k8s
microrain1 天前
从硬编码到热插拔:SagooIoT插件架构如何打破物联网平台的扩展瓶颈
物联网·golang·开源·sagooiot