Ubuntu+docker+docker-compose部署golang项目(源码)

本文详细介绍了如何在Ubuntu系统中利用Docker和docker-compose部署Golang项目。首先,确保安装了docker和docker-compose,然后编写Dockerfile设置时区、环境变量、工作目录并构建镜像。接着,通过docker-compose.yaml配置服务启动参数,并实现容器的后台启动、关闭。整个过程涵盖了从源码打包到服务运行的全部步骤。
摘要由CSDN通过智能技术生成


阅读本文的前提是你已经在Ubuntu中正确安装了docker和docker-compose。
查看版本

docker --version
docker-compose --version

ubuntu安装docker、docker-compose

编写Dockerfile

进入源码目录,vim可编辑文件,若文件不存在可自动创建文件

cd myProject
vim Dockerfile

Dockerfile内容

FROM golang

// 设置时区
RUN echo "Asia/Shanghai" > /etc/timezone \
 && rm /etc/localtime && dpkg-reconfigure -f noninteractive tzdata

// 设置golang环境变量
ENV GO111MODULE on
ENV CGO_ENABLED 0
ENV GOPROXY https://goproxy.io,direct
// 设置工作目录
WORKDIR /go/src/myProject

// 复制当前目录内容到工作目录
COPY . .
RUN go mod tidy
RUN go build

打包镜像

执行打包命令,等待执行结果

docker build -t myProject-docker:v1 .

通过以下命令可查看镜像列表

docker images

查看列表中是否有自己创建的镜像,至此镜像已创建成功,可使用下面命令启动镜像

docker run -i --name myProject-docker -p 8080:8080 myProject-docker

–name:指定服务名称
-p::前面的是服务对外暴露的端口,:后面的是你自己服务器的实际端口

查看当前正在运行的镜像

docker ps

停止服务

docker stop myProject-docker

编写docker-compose.yaml

docker-compose.yaml内容

version: '2.4'
services:
  myProject_port8080:
    image: myProject-docker:latest
    container_name: myProject_port8080
    restart: always
    ports:
      - "8080:8080"
    command:
      /go/src/myProject/myProject

启动容器

后台启动容器

docker-compose -f docker-compose.yaml up -d

关闭容器

docker-compose -f docker-compose.yaml down
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值