Q&A
実現したいこと
- Docker環境でReact Go MySQLで環境構築したい
前提
ReactとGoでアプリ作成していてMySQLはdocker-compose.ymlに image: mysql:8.0.21で構築しています。ReactとGoもDockerで管理したくて途中から導入しようとしています。
発生している問題・エラーメッセージ
=> ERROR [7/7] RUN go build -o main . 0.2s ------ > [7/7] RUN go build -o main .: #12 0.213 no Go files in /app ------ executor failed running [/bin/sh -c go build -o main .]: exit code: 1 ERROR: Service 'backend' failed to build : Build failed
該当のソースコード
React側 Dockerfile # base image FROM node:14.15.4-alpine3.12 # set working directory WORKDIR /app # copy package.json and package-lock.json COPY package*.json ./ # install dependencies RUN npm install # add app COPY . . # start app CMD ["npm", "start"]
React側 docker-compose.yml version: "3" services: frontend: build: /Users/xxxx/go_react/react-go-myfront ports: - "3000:3000" backend: build: /Users/xxxx/go_react/react-go-mybackend ports: - "8080:8080" depends_on: - db db: image: mysql:8.0.21 platform: linux/amd64 ports: - "3307:3306" command: --default-authentication-plugin=mysql_native_password environment: MYSQL_USER: "webuser" MYSQL_PASSWORD: "webpass" MYSQL_ROOT_PASSWORD: "pass" MYSQL_DATABASE: "go_mysql8_development" volumes: - db_data:/var/lib/mysql volumes: db_data:
Go側 Dockerfile FROM golang:1.16.0-alpine3.13 # 作業ディレクトリを作成 WORKDIR /app # 必要なファイルをコピー COPY go.mod . COPY go.sum . # 依存関係をダウンロード RUN go mod download # ソースコードをコピー COPY . . # アプリケーションをビルド RUN go build -o main . EXPOSE 8080 # コンテナ起動時に実行されるコマンドを指定 CMD ["/app/main"]
Go側 docker-compose.yml version: "3" services: frontend: build: /Users/xxxx/go_react/react-go-myfront ports: - "3000:3000" backend: build: /Users/xxxx/go_react/react-go-mybackend ports: - "8080:8080" depends_on: - db db: image: mysql:8.0.21 platform: linux/amd64 ports: - "3307:3306" command: --default-authentication-plugin=mysql_native_password environment: MYSQL_USER: "webuser" MYSQL_PASSWORD: "webpass" MYSQL_ROOT_PASSWORD: "pass" MYSQL_DATABASE: "go_mysql8_development" volumes: - db_data:/var/lib/mysql volumes: db_data:
試したこと
ディレクトリ構成がおかしいと思い確認しました。
Reactの構成 xxxxxxxx react-go-myfront % pwd /Users/xxxxxxxx/go_react/react-go-myfront xxxxxxxx react-go-myfront % ls Dockerfile a.txt node_modules package.json src yarn.lock README.md docker-compose.yml package-lock.json public tsconfig.json Goの構成 xxxxxxxx react-go-mybackend % pwd /Users/xxxxx/go_react/react-go-mybackend xxxxxxxx react-go-mybackend % ls Dockerfile cmd config.ini docker-compose.yml go.sum utils a.txt config database go.mod internal webapp.log
補足情報(FW/ツールのバージョンなど)
Docker初心者なため理解がずれていると思いますがどうぞアドバイスよろしくお願いいたしますm(_ _)m
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2023/03/07 07:33
2023/03/07 08:25