Centos7安装Go语言

本文详细介绍了如何在Linux环境下下载并安装Go语言1.7.1版本,包括配置环境变量和简单程序测试的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、下载安装包

# wget https://storage.googleapis.com/golang/go1.7.1.linux-amd64.tar.gz
# tar zxvf go1.7.1.linux-amd64.tar.gz -C /usr/local


2、配置

# mkdir -p /mnt/wwwroot/gofile
# vim /etc/profile

export GO_HOME=/usr/local/go
export PATH=$PATH:$GO_HOME/bin
export GOPATH=/mnt/wwwroot/gofile

# source /etc/profile
# go version


3、测试

# cd /mnt/wwwroot/gofile
# vim hello.go
package main
import "fmt"
func main() {
fmt.Println("Hello, 世界")
}
# go run hello.go
Hello, 世界
<think>我们正在使用Docker在CentOS 7上部署Go语言开发环境。根据引用,有两种常见的做法: 1. 直接构建一个包含Go环境的CentOS镜像(如引用[2]和[4]所示),在镜像中安装Go环境,然后设置工作目录和编译运行Go程序。 2. 使用多阶段构建(但引用中没有给出多阶段构建的例子,我们可以参考第一种方法,因为用户要求的是部署开发环境,可能需要在容器内进行开发)。 用户要求的是部署Go语言开发环境,这意味着我们可能需要在容器内进行代码编辑、编译和运行。因此,我们选择构建一个包含Go环境的Docker镜像。 步骤: 1. 编写Dockerfile,基于CentOS 7.9.2009(或其他版本)安装Go环境。 2. 在Dockerfile中设置工作目录,安装必要的工具(如git、vim、gcc等,因为开发环境可能需要)。 3. 安装指定版本的Go,并配置环境变量。 4. 设置Go的模块代理(如GOPROXY)以加速模块下载。 5. 构建镜像并运行容器。 参考引用[2]的Dockerfile,我们可以进行修改。注意,引用[2]中使用了多个RUN命令合并以减少镜像层数,但这里我们为了清晰可以适当拆分,但要注意yum安装的清理以减少镜像大小。 但是注意:引用[2]的Dockerfile中使用了两个FROM,这是错误的,因为Dockerfile中只能有一个基础镜像(除非是多阶段构建,但这里第一个FROM会被忽略)。所以我们需要修正。 我们选择使用CentOS 7.9.2009作为基础镜像。 另外,引用[1]中提到了交叉编译,但这里我们不需要交叉编译,因为我们要在容器内开发,直接编译运行即可。 编写Dockerfile: 注意:在安装Go时,我们下载Go的压缩包,解压到/usr/local目录,并设置环境变量。 由于用户要求的是开发环境,我们可能还需要安装一些开发工具(如git, vim, gcc等)。 考虑到镜像大小,我们可以删除下载的压缩包。 以下是Dockerfile的示例:</think>### 在 CentOS 7 上使用 Docker 部署 Go 语言开发环境 以下是完整的部署步骤(基于引用[2][4]的实践优化): #### 1. **创建 Dockerfile** ```Dockerfile # 使用 CentOS 7 基础镜像 FROM centos:7.9.2009 # 设置环境变量和工作目录 ENV MYPATH /go/src/app WORKDIR $MYPATH # 安装基础工具和 Go 环境 RUN yum -y update && \ yum -y install vim git wget gcc-c++ && \ wget -P /tmp https://dl.google.com/go/go1.20.4.linux-amd64.tar.gz && \ tar -C /usr/local -xzf /tmp/go1.20.4.linux-amd64.tar.gz && \ rm -f /tmp/go1.20.4.linux-amd64.tar.gz # 配置环境变量 ENV PATH $PATH:/usr/local/go/bin ENV GOPATH /go ENV GO111MODULE=on ENV GOPROXY=https://goproxy.cn,direct # 验证安装 RUN go version ``` #### 2. **构建 Docker 镜像** ```bash # 在 Dockerfile 所在目录执行 docker build -t golang-dev:centos7 . ``` - 输出 `Successfully tagged golang-dev:centos7` 表示构建成功 - 镜像包含:Go 1.20.4 + Git + GCC + Vim(约 500MB) #### 3. **运行开发容器** ```bash docker run -itd \ --name go-dev \ -v $PWD:/go/src/app \ # 挂载本地代码目录 -p 8080:8080 \ # 暴露调试端口 golang-dev:centos7 ``` #### 4. **进入容器验证环境** ```bash docker exec -it go-dev bash # 验证环境 go env | grep -E "GOPATH|GOPROXY" # 应输出:GOPATH="/go" 和 GOPROXY="https://goproxy.cn,direct" # 创建测试程序 echo 'package main; import "fmt"; func main() { fmt.Println("Hello Docker Go!") }' > main.go # 编译运行 go run main.go # 输出:Hello Docker Go! ``` ### 关键配置说明 1. **环境变量** - `GOPROXY=https://goproxy.cn,direct`:加速国内模块下载[^2] - `GO111MODULE=on`:强制启用 Go Modules - `PATH` 包含 `/usr/local/go/bin`:确保全局访问 go 命令 2. **目录结构** ```bash /go # GOPATH 根目录 /src/app # 挂载点(对应本地项目) ``` 3. **开发建议** - 使用 `-v $(pwd):/go/src/app` 实现代码实时同步 - 调试时通过 `-p` 参数暴露应用端口(如 8080) - 安装 VSCode Remote-Containers 插件可直接在容器内开发 > 此方案比传统虚拟机部署节省 70% 资源占用,同时保证环境一致性[^4]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值