当前位置: 首页 > article >正文

Go 本地搭建playground

搭建go playground 的步骤

1、安装docker

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

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

2、安装runsc

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中添加如下内容:

{
    "runtimes": {
        "runsc": {
            "path": "/usr/local/bin/runsc"
        }
    }
}

之后重启docker:

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文件示例如下:

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,直接终端连接上,然后运行启动下面这个命令)

docker-compose -f docker-compose.yaml up

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


http://www.kler.cn/a/144956.html

相关文章:

  • 论文阅读笔记 —— 英文论文常见缩写及含义
  • UE5 特效
  • DeepSeek介绍
  • C语言练习(31)
  • DeepSeek的崛起与全球科技市场的震荡
  • C# 9.0记录类型:解锁开发效率的魔法密码
  • 漏电流直流互感器1-50ua
  • 2023.11.23使用flask实现在指定路径生成文件夹操作
  • Android flutter this and base files have different roots
  • 【Go实现】实践GoF的23种设计模式:备忘录模式
  • 世岩清上:未来科技展览的策展视野
  • 【开源】基于JAVA的车险自助理赔系统
  • PasteNow for mac剪贴板工具
  • 本地缓存与分布式缓存
  • 【SpringCloud】设计原则之分层架构与统一通信协议
  • 20231125硬盘电源线5线不能识别日立10T的硬盘的解决方法
  • 01、Tensorflow实现二元手写数字识别
  • Spring Boot WebSocket 客户端
  • Android 匿名内存深入分析
  • OpenCV快速入门:相机标定——单目视觉和双目视觉
  • Flask,uWSGI,nginx的理解
  • linux 内存回收mglru算法代码注释2
  • 【PTA题目】7-12 N个数求和 分数 20
  • U盘报错无法访问文件或目录损坏且无法读取
  • 软件测试职业规划导图
  • GNSS介绍