トップ 一覧 置換 検索 ヘルプ RSS ログイン

goの環境作成(Docker)の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!概要
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}}