使用 Docker 构建 Go 的开发环境,并在 Visual Studio Code 中进行编码

为了什么

将源代码编辑在主机PC上,并在使用Docker创建的容器中进行构建和执行二进制文件。

经过

我经常遇到这样的场景:想要在本地创建某种语言的开发环境,但直接安装到电脑上让我有些犹豫(容易弄乱环境)。按照以下方针来进行吧。

    • Go langで開発をする

 

    • Dockerでコンテナを立てることでローカル環境を汚さない

 

    コンテナをバインドマウントをすることで、ローカルで開発をしているような環境を作る

操作流程

    1. 创建并执行docker-compose.yaml文件

 

    1. 在Visual Studio Code中安装Dev Containers

 

    1. 创建Go语言程序

 

    编译并执行创建的程序

步骤1:创建并执行docker-compose.yaml。

version: '3'
services:
  golang:
    image: golang:1.19.11-alpine 
    ports:
      - 8080:80
    volumes:
      - type: bind
        source: "."
        target: "/go/src/app"
    tty: true
    restart: always
$ docker compose up -d

[+] Running 5/5
 ✔ golang 4 layers [⣿⣿⣿⣿]      0B/0B      Pulled                                                                                                                                   27.8s 
   ✔ 31e352740f53 Pull complete                                                                                                                                                     1.6s 
   ✔ 7f9bcf943fa5 Pull complete                                                                                                                                                     1.8s 
   ✔ 90ecaf4eb86e Pull complete                                                                                                                                                    21.9s 
   ✔ 2e1f0b61d268 Pull complete                                                                                                                                                    22.0s 
[+] Running 2/2
 ✔ Network docker-golang_default     Created                                                                                                                                        0.8s 
 ✔ Container docker-golang-golang-1  Started                                                                                                                                        8.8s 

第二步骤:在Visual Studio Code中安装Dev Containers。

image.png

从Visual Studio Code的侧边栏中选择Remote Explorer,
可以查看正在运行的容器。
右键单击要连接的容器,选择“在新窗口中附加”。

image.png
image.png
image.png

步骤三:开始编写Go lang程序

package main
import "fmt"

func main(){
	fmt.Printf("Hello, World!\n")
}

第四步,编译并运行已创建的程序。

image.png

在终端上查找go的安装位置和版本

/go/src/app # which go
/usr/local/go/bin/go

/go/src/app # go version
go version go1.19.11 linux/amd64

看起来没有问题。

当在终端上执行时,成功地显示“你好,世界!”

/go/src/app # go run hello.go
Hello, World!

编译并运行二进制文件后,成功显示”Hello, World!”。

/go/src/app # go build hello.go
/go/src/app # ls
docker-compose.yml  hello               hello.go

/go/src/app # ./hello
Hello, World!

尾声

…研究一下Go吧,因为我打算用Go来编写预定开发的服务的后端,所以需要学习一下。先暂时简单快速地创建一个像API一样的东西吧。也先将数据库结合起来。在开发后,我自己会总结出所感受到的优点和缺点。

广告
将在 10 秒后关闭
bannerAds