当前位置:主页 > 脚本语言 > Golang >

docker中部署golang项目的步骤详解

时间:2021-05-26 08:14:41 | 栏目:Golang | 点击:

理解Docker

Docker可以帮您为自己的应用程序创建一个单一的可部署“单位”。这样的单位也叫做容器,其中包含了应用程序需要的一切。例如代码(或二进制文件)、运行时、系统工具,以及系统库文件。将所有这些需要的内容打包为一个单一的单位,可确保无论将应用程序部署在何处,都能提供完全相同的环境。这种技术还可以帮您维持完全一致的开发和生产环境,通常这些环境是很难被追踪的。

一旦搭建完成,容器的创建和部署将可自动进行。这本身就可以避免一系列问题。这些问题中大部分都是因为文件不同步,或开发和生产环境之间的差异导致的。Docker可以解决这些问题。

在开发过程中使用Docker所获得的收益

在开发工作中使用Docker可以获得的部分收益包括:

Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序

一、交叉编译

Windows 下编译 Linux 64 位可执行程序

在项目所在根目录下执行:

GOOS:目标平台的操作系统(darwin、freebsd、linux、windows)

set GOOS=linux

GOARCH:目标平台的体系架构(386、amd64、arm)

set GOARCH=amd64

编译

go build .

二、打包镜像

Dockerfile(放在根目录下)

FROM hub.skyinno.com/common/alpine:latest
MAINTAINER FAE Config Server "fae@fiberhome.com"
ADD mars /usr/local/bin/
ENTRYPOINT ["/usr/local/bin/mars"]

在跟目录下进入docker环境

set DOCKER_HOST=tcp://10.110.200.29:5555

构建镜像

docker build -t hub.skyinno.com/fcae/mars .

// 查看镜像是否构建成功
docker images

启动服务

docker run -i -d --name=mars -p 8011:8011 hub.skyinno.com/fcae/mars

查看服务是否启动成功

docker ps -a

总结

您可能感兴趣的文章:

相关文章