在docker容器中手工部署go环境和项目

一.需求:基于docker镜像,手工部署go项目环境

   方案分析:

                   1.docker环境部署

                   2.go环境部署

                   3.go项目部署

                   4.测试

     1.docker环境配置

        1.1 获取一个ubuntu的模板文件

           (1)进入模板镜像网站https://download.openvz.org/template/precreated/

           (2)找到ubuntu模板 ubuntu-16.04-x86_64.tar.gz(178M)

           (3)cat ubuntu-16.04-x86_64.tar.gz | docker import - ubuntu-min

                    

          1.2 启动docker容器,容器名叫go-test,并将这个容器中的datashare目录挂载到宿主机的/home/sxf/ubuntu-min/目录下

                    docker run -itd --name go-test -v /home/sxf/ubuntu-min/:/datashare ubuntu-min /bin/bash

          1.3 进入容器

                    docker exec -it go-test /bin/bash

     2.go环境部署

        2.1 基础环境配置,配置国内源

              sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list

        2.2 更新软件源,安装基本软件

               apt-get update

               apt-get install gcc libc6-dev git vim lrzsz -y

         2.3 安装go语言软件,下载go1.10.linux-amd64.tar.gz拷贝到容器中解压

                tar -C /usr/local -zxf go1.10.linux-amd64.tar.gz

                PS:(或者直接通过共享目录把宿主机的go软件包传进容器中)

         2.4 配置go环境变量               
                export GOROOT=/usr/local/go
                export PATH=$PATH:$GOROOT/bin

                export GOPATH=/root/go
                export PATH=$PATH:$GOPATH/bin 

         2.5 查看go环境变量是否设置成功

                                         

     3.go项目部署

         3.1 获取beego代码

                go get github.com/astaxie/beego

         3.2 创建项目目录

                 mkdir /root/go/src/myTest

                 cd /root/go/src/myTest

         3.3 创建一个测试文件test.go(vim test.go),打开文件输入下面内容:

       package main

       import "github.com/astaxie/beego"

       type MainController struct {
          beego.Controller
       }

       func(this *MainController) Get()  {
          this.Ctx.WriteString("hello world\n")
       }

       func main()  {
         beego.Router("/",&MainController{})
         beego.Run()
       }

         3.4 运行该文件

                  go run test.go

                 

                 可以看到监听在8080端口,这是beego默认的监听端口 

     4.测试

         4.1 新开启一个终端,输入docker inspect go-test 查看这个容器的ip地址:

                                

         4.2 如上图可以看到go-test这个容器的ip地址为172.17.0.2,我们打开浏览器输入172.17.0.2:8080 

                                  

                

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值