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

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

docker-compose exec app go get ... 

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

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

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 配置,用于指定容器中的工作目录:

working_dir:/go/src/examplecom/http_demo

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

设置了working_dir后我们再使用:

docker exec -it <container name/id> bash

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

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

另外之前创建的免费知识星球已经转为正式的,成员人数不再受限制。还没加入的可以加入,一些零碎的东西会整理发在里面。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值