!!!概要 DockerとVSCodeでgoの開発環境のテンプレート !!!Docker !!ディレクトリ構成 dir . ├── docker-compose.yml ├── go <-- コンテナ内の /go └── src <-- ソース !docker-compose version: '3' services: go: image: golang:latest volumes: - ./go:/go - ./src:/root/src tty: true # privileged: true # security_opt: # - apparmor:unconfined cap_add: - SYS_PTRACE cap_add はデバッグをするときに必要。 privilegedでもいいけど、ユーザ名前空間を利用している場合は、使えないので注意。 https://please-sleep.cou929.nu/debug-go-project-with-delve-on-docker.html !!!VSCode !!設定 ローカルのdockerではなく、ssh先のdockerを使う場合は settings.jsonに "docker.host": "ssh://ユーザ@sshサーバ" を追記。 また ssh ユーザ@sshサーバ でログインできるように、ssh鍵の設定と .ssh/configの記述を行っておく !!拡張 +利用するコンテナを起動しておく ++docker-compose up -d +remote-Containers をインストール +go拡張をインストール +コンテナに接続し、コンテナ内にgoのライブラリをインストール ++ctrl + shift + P ++go; Install/Update tools !!!go get でのSSL証明書エラー https://stackoverflow.com/questions/64462922/docker-multi-stage-build-go-image-x509-certificate-signed-by-unknown-authorit x509: certificate signed by unknown authority 等のエラーが発生する場合、SSLの証明書を更新する。 SSLの証明書を更新することができない場合、以下の設定で証明書の検証を無視できる。 RUN go env -w GOPROXY=direct GOFLAGS="-insecure" go get xxxxx {{category2 プログラミング言語,Go}}