質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

解決済

DockerでGoの修正が反映されない

mimi_129
mimi_129

総合スコア63

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

1回答

0評価

1クリップ

772閲覧

投稿2022/03/20 04:36

前提

タイトルの通りです。

Go+React+Docker+nginx+potsgreで個人開発を行なっていますが、
Goのコードの修正が反映されないです。

以前まで、
docker-compose build

docker-compose up -d
を行うと反映されていたのですが、
できなくなりました。

Dockerのrestartも意味なかったです。

Dockerのイメージを全削除して再度docker-compose buildを行うと反映されますが、
コードの修正の度に全てのコンテナ・イメージを作り直すのは時間がかかりすぎて辛いです。

Dockerのコンテナ上にコピーされていないのでは?と思い、
コンテナにSSHして対象のファイルをcatすると、
確かに自分が行ったコードの修正は反映されています。

ブラウザで確認しようとするとなぜ反映されていないかがよく分かりません。
ブラウザのキャッシュもDockerのビルドキャッシュも何度も消しましたが、
関係なかったです。

nginxでキャッシュを持ってしまっているのか?と思い、
nginxのコンテナ・イメージだけを作り直したりしてみましたが、
修正は反映されなかったです。

イメージ説明

version: '3' services: react: build: context: . dockerfile: react/Dockerfile container_name: react_container volumes: - ./:/usr/src/app command: sh -c "cd react/react-sample && yarn start" ports: - "3000:3000" go: build: context: . dockerfile: go/Dockerfile container_name: go_container ports: - 8000:8000 tty: true nginx: image: nginx container_name: nginx_container ports: - 80:80 environment: - TZ=Asia/Tokyo volumes: - ./nginx/nginx.conf:/etc/nginx/nginx.conf db: build: context: . dockerfile: postgres/Dockerfile container_name: db_container volumes: - ./postgres/data:/var/lib/postgresql/data ports: - 5433:5432 environment: - POSTGRES_USER - POSTGRES_PASSWORD - POSTGRES_DB
FROM golang:latest COPY ./go/app /app/go # 切り替え WORKDIR /app/go/handler RUN rm go.mod # 初期化 RUN go mod init github.com/XXX/XXX/go/app/handler # モジュール取得 RUN go get github.com/sclevine/agouti \ && go get github.com/labstack/echo/v4 \ && go get github.com/labstack/echo/v4/middleware \ && go get github.com/joho/godotenv \ && go get github.com/lib/pq \ && go get github.com/jinzhu/gorm # ビルド RUN go build -o handler . # 切り替え WORKDIR /app/go RUN rm go.mod # 初期化 RUN go mod init github.com/XXX/XXX # モジュール取得 RUN go get github.com/XXX/XXX/go/app/handler # ビルド RUN go build -o main . # unzip取得 RUN apt-get update && apt-get install -y unzip # chrome取得 RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add \ && wget http://dl.google.com/linux/deb/pool/main/g/google-chrome-unstable/google-chrome-unstable_93.0.4577.18-1_amd64.deb \ && apt-get install -y -f ./google-chrome-unstable_93.0.4577.18-1_amd64.deb # chromedriver取得 ADD https://chromedriver.storage.googleapis.com/93.0.4577.15/chromedriver_linux64.zip /usr/local/go/bin/ RUN cd /usr/local/go/bin/ \ && unzip chromedriver_linux64.zip CMD ["/app/go/main"]

ここ確認した方が良いよとか何か回答に必要な情報等がありましたら補足していくので、
回答よろしくお願いします。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです