前提・実現したいこと
dockerコンテナに立てたgolangのapiサーバーをVS Codeでデバッグしたいです。
発生している問題・エラーメッセージ
docker-compose up
で起動した後にデバックモードを開始できません。
(青帯がオレンジになりません。)
該当のソースコード
フォルダ構成です
article ├ client ├ api │ └ Dockerfile ├ nginx │ └ default.conf └ docker-compose.yml
api(golang)のDockerfileです
Dockerfile
1//Dockerfile 2FROM golang:latest 3WORKDIR '/app' 4RUN go get github.com/derekparker/delve/cmd/dlv 5COPY . . 6CMD ["dlv", "debug", "--headless", "--listen=:2345", "--log"]
docker-compose.yml
です。
yml
1//docker-compose.yml 2 api: 3 build: 4 dockerfile: Dockerfile.dev 5 context: ./api 6 volumes: 7 - ./api:/app 8 depends_on: 9 - db 10 tty: true 11 environment: 12 - AWS_ACCESS_KEY_ID 13 - AWS_SECRET_ACCESS_KEY 14 - MYSQL_USER 15 - MYSQL_PASSWORD 16 - MYSQL_HOST 17 privileged: true
nginxのdefault.conf
です
conf
1//default.conf 2upstream client { 3 server client:3000; 4} 5 6upstream api { 7 server api:2345; 8} 9 10server { 11 listen 80; 12 13location / { 14 proxy_pass http://client; 15} 16 17location /sockjs-node { 18 proxy_pass http://client; 19 proxy_http_version 1.1; 20 proxy_set_header Upgrade $http_upgrade; 21 proxy_set_header Connection "Upgrade"; 22} 23 24location /api { 25 proxy_pass http://api; 26 } 27} 28
VS Codeのlaunch.json
です。
json
1//launch.json 2{ 3 "version": "0.2.0", 4 "configurations": [ 5 { 6 "name": "remote", 7 "type": "go", 8 "request": "launch", 9 "mode": "remote", 10 "remotePath": "/app/api", 11 "port": 2345, 12 "host": "localhost", 13 "program": "${workspaceRoot}", 14 "env": {}, 15 "args": [], 16 "showLog": true 17 } 18 ] 19}
ソースコード全貌は以下のレポジトリにあります。
https://github.com/jpskgc/article
補足情報(FW/ツールのバージョンなど)
・client: react/axios ・api: golang/gin ・web server: nginx ・db: mysql ・container: docker ・ci-tool: travis ・deploy: aws elastic beanstalk
あなたの回答
tips
プレビュー