使用 Docker 构建 Go 的开发环境,并在 Visual Studio Code 中进行编码
为了什么
将源代码编辑在主机PC上,并在使用Docker创建的容器中进行构建和执行二进制文件。
经过
我经常遇到这样的场景:想要在本地创建某种语言的开发环境,但直接安装到电脑上让我有些犹豫(容易弄乱环境)。按照以下方针来进行吧。
-
- Go langで開発をする
-
- Dockerでコンテナを立てることでローカル環境を汚さない
- コンテナをバインドマウントをすることで、ローカルで開発をしているような環境を作る
操作流程
-
- 创建并执行docker-compose.yaml文件
-
- 在Visual Studio Code中安装Dev Containers
-
- 创建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。
从Visual Studio Code的侧边栏中选择Remote Explorer,
可以查看正在运行的容器。
右键单击要连接的容器,选择“在新窗口中附加”。
步骤三:开始编写Go lang程序
package main
import "fmt"
func main(){
fmt.Printf("Hello, World!\n")
}
第四步,编译并运行已创建的程序。
在终端上查找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一样的东西吧。也先将数据库结合起来。在开发后,我自己会总结出所感受到的优点和缺点。