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

一、场景:

二、需求

三、实操

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

Stage 2:编写 Dockerfile

Stage 3:编写 docker-compose.yaml

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

Stage 5:运行 docker-compose

 Stage 6:查看运行效果

四、问题

A. docker + docker-compose 安装

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


一、场景:

开发工具:GoLand 2023.1.4

go项目文件:qingdaoHJ212.go

服务器:ububtu 22

二、需求

        使用docker-compose部署qingdao.go

三、实操

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

  • 生成 qingdaoHJ212

【实战篇】docker-compose部署go项目_第1张图片

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 服务器上,并设置文件读写权限

【实战篇】docker-compose部署go项目_第2张图片

# 进入目录
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

【实战篇】docker-compose部署go项目_第3张图片

  • 原因go二进制文件【qingdaoHJ212】需要设置读写权限
  • 解决方案chmod a+x qingdaoHJ212

你可能感兴趣的:(架构师之路-java,docker,golang,容器,docker-compose)