MiyasakaKufu / golang-study

0 stars 0 forks source link

docker-compose.yml の書き方がわからん #8

Open MiyasakaKufu opened 1 month ago

MiyasakaKufu commented 1 month ago

docker-compose.yml

version: "3"

services:
  db:
    image: mysql
    container_name: db
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: go_todo
      TZ: "Asia/Tokyo"
    volumes:
      - ./db/my.cnf:/etc/mysql/conf.d/my.cnf
    ports:
      - 3306:3306

  app:
    build: .
    volumes:
      - .:/app
    ports:
      - "8080:8080"
    networks:
      - go_todo
    depends_on:
      - db
    environment:
      - DATABASE_HOST=db
      - DATABASE_PORT=3306
      - DATABASE_USER=user
      - DATABASE_ROOT_PASSWORD=password
      - DATABASE_PASSWORD=password
      - DATABASE_NAME=go_todo

volumes:
  db:

networks:
  go_todo:
    name: go_todo
    driver: bridge

Dockerfile

FROM golang:1.22.5-alpine

# Set the Current Working Directory inside the container
WORKDIR /app

# Go Modules を使用するための環境変数を設定
ENV GO111MODULE=on

# 必要なパッケージをインストール
RUN apk add --no-cache git

# go.mod と go.sum をコピー
COPY go.mod go.sum ./

# 依存関係をダウンロード
RUN go mod download

# アプリケーションのソースコードをコピー
COPY . /app/

# アプリケーションをビルド
RUN go build -a -installsuffix cgo -o main ./main.go
MiyasakaKufu commented 1 month ago

今出ているエラー

Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "/app/main": stat /app/main: no such file or directory: unknown
MiyasakaKufu commented 1 month ago

main はビルドした結果できる実行ファイルのことかも

MiyasakaKufu commented 1 month ago

エラーの直接的な原因

修正中に出たエラーなど

原因究明のためのテクニック