Go 本地搭建playground

搭建go playground 的步骤

1、安装docker

如果你使用的Ubuntu,docker的安装步骤可以参见这里,这是我之前写的在Ubuntu18.04下安装fabric,其中有docker的安装步骤,这里就不再赘述了。

CentOS下安装docker的,可以参见这里。与Ubuntu不同的是,CentOS需要自己手动安装docker-compose ,可以从github.com下载对应系统的compose。

2、安装runsc

Go 复制代码
wget https://storage.googleapis.com/gvisor/releases/nightly/latest/runsc
chmod +x runsc
sudo mv runsc /usr/local/bin

配置docker使用runsc,需要在/etc/docker/daemon.json中添加如下内容:

Go 复制代码
{
    "runtimes": {
        "runsc": {
            "path": "/usr/local/bin/runsc"
        }
    }
}

之后重启docker:

Go 复制代码
sudo systemctl restart docker

3、安装playground

这里使用的golang官方提供的playground,可以从这里下载。

按照README.md中的指导就可以在本地构建出可运行的playground。

Tips:因为构建dock二镜像用到debain使用的是官方的源,国内访问速度很慢,修改Dockerfile使用国内的源替换

Tips:国内环境的话,还需要修改镜像中的GOPROXY,使用GOPROXY=https://goproxy.io,direct代替ENV GOPROXY=https://proxy.golang.org,否则在执行go mod download时会失败。

4、启动playground

compose文件示例如下:

Go 复制代码
version: '2'
services: 
  sandbox_dev:
    image: golang/playground-sandbox:latest
    networks: 
      - sandnet
    command: sh -c '/usr/local/bin/play-sandbox'
    ports: 
      - 8080:80
    volumes: 
      - /var/run/docker.sock:/var/run/docker.sock
 
  play_dev:
    image: golang/playground:latest
    environment:
      - SANDBOX_BACKEND_URL=http://playground_sandbox_dev_1/run
    networks: 
      - sandnet
    command: sh -c '/app/playground'
    ports: 
      - 8081:8080
    volumes: 
      - /var/run/docker.sock:/var/run/docker.sock
 
networks: 
  sandnet:

启动:(如果是Mac,直接终端连接上,然后运行启动下面这个命令)

Go 复制代码
docker-compose -f docker-compose.yaml up

浏览器访问:http://localhost:8081

相关推荐
qq_177767374 分钟前
React Native鸿蒙跨平台数据使用监控应用技术,通过setInterval每5秒更新一次数据使用情况和套餐使用情况,模拟了真实应用中的数据监控场景
开发语言·前端·javascript·react native·react.js·ecmascript·harmonyos
一匹电信狗6 分钟前
【LeetCode_21】合并两个有序链表
c语言·开发语言·数据结构·c++·算法·leetcode·stl
2401_8384725132 分钟前
C++中的访问者模式
开发语言·c++·算法
csbysj202043 分钟前
《Foundation 开关:深度解析其原理与应用》
开发语言
怪兽源码1 小时前
基于SpringBoot的选课调查系统
java·spring boot·后端·选课调查系统
梦里小白龙1 小时前
java 通过Minio上传文件
java·开发语言
m0_561359671 小时前
基于C++的机器学习库开发
开发语言·c++·算法
星空露珠1 小时前
速算24点所有题库公式
开发语言·数据库·算法·游戏·lua
csdn_aspnet1 小时前
ASP.NET Core 中的依赖注入
后端·asp.net·di·.net core
2401_832402751 小时前
C++中的类型擦除技术
开发语言·c++·算法