前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >修正《用Docker快速搭建Go开发环境》文章中的一处错误

修正《用Docker快速搭建Go开发环境》文章中的一处错误

作者头像
KevinYan
发布2020-02-17 16:18:48
5460
发布2020-02-17 16:18:48
举报
文章被收录于专栏:网管叨bi叨网管叨bi叨

上周写的文章《五分钟用Docker快速搭建Go开发环境》,文章发出去后有不少阅读量,而且从后台看的数据 60%的人都读完了。今天我自己用下面命令往 容器里的 Go 项目里下载包时发现了一处错误

代码语言:javascript
复制
docker-compose exec app go get ... 

原因是在容器里执行的路径不对,容器的工作目录没有设置,所以还是默认的/go目录,而非项目的根目录。因为微信改文章限制很大,本来是想下个文章用到这个容器环境时再提,不过想着再发可能就差不多到周末了,期间有人按照我的文章自己搭环境出了问题也不太好。

问题出在文章的最后,使用docker-compose 管理容器时在编排文件疏忽了一个设置,下面把编排文件做下更正:

代码语言:javascript
复制
version: '3'
services:
  app:
    image: golang:latest
    working_dir:/go/src/example.com/http_demo
    volumes:
      - $PWD:/go/src/examplecom/http_demo
    ports:
      - "8000:8080"
    command: go run /go/src/example.com/http_demo/main.go

文件中增加了working_dir 配置,用于指定容器中的工作目录:

代码语言:javascript
复制
working_dir:/go/src/examplecom/http_demo

这样,在用 docker-compose exec 向容器中发送命令并执行的时候我们的 go test,go get 类的命令就能在项目的根目录下执行了。

设置了working_dir后我们再使用:

代码语言:javascript
复制
docker exec -it <container name/id> bash

进入运行中的容器时,就会发现终端的工作目录默认已经切换到我们设置的项目根目录里了。

这个错误也是我的一时疏忽吧,如果有按照文章实践的同学一定要看看这篇推送。本周会在《深入学习用Go编写HTTP服务器》对HTTP服务继续进行完善,现在已经正式开工写BUG 了,所以推送可能要到周末了。

题图是《塞尔达荒野之息》里的克洛格种子,整个世界地图里在犄角旮旯里藏着900 个呀哈哈,春节假期在家实在不知道干什么了我就满世界找他们。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网管叨bi叨 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档