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

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

新規登録して質問してみよう
ただいま回答率
85.46%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Docker

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

Q&A

解決済

1回答

1173閲覧

docker-composeでコンテナが作成されない。

naoki_sasa

総合スコア2

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Docker

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

0グッド

0クリップ

投稿2021/10/19 18:39

編集2021/10/22 07:59

ディレクトリ構造

app

├ Dockerfile


├ src
│ ├ .air.toml
│ └et

├ docker-compose.yml

発生している問題・エラーメッセージ

logを出したところ、duplicated tablesと出ました。

該当のソースコード

dockercompose

1version: '3.8' 2 3services: 4 db: 5 image: postgres:12.6-alpine 6 container_name: db 7 restart: always 8 environment: 9 POSTGRES_PASSWORD: パスワード 10 ports: 11 - ポート番号 12 volumes: 13 - db-data:/var/lib/postgresql/data 14 app: 15 container_name: app 16 build: 17 context: . 18 ports: 19 - "8000:8000" 20 volumes: 21 - ./src/:/go/src 22 tty: true 23 links: 24 - db 25volumes: 26 db-data:

Dockerfile

1FROM golang:latest 2WORKDIR /go/src 3COPY ./src . 4RUN go get -u github.com/cosmtrek/air && \ 5 go build -o /go/bin/air github.com/cosmtrek/air && \ 6 go get -u github.com/gin-gonic/gin && \ 7 go get github.com/jinzhu/gorm && \ 8 go get github.com/jinzhu/gorm/dialects/postgres 9 10CMD ["air", "-c", ".air.toml"]

試したこと

重複したテーブルがあるか、確認し、すべて削除しました。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dameo

2021/10/21 00:03

お手数ですが以下を記述して頂けると助かります。 ・docker-compose.ymlのサービス「db」の項目「image」の記述で「#dbのイメージ」となっているところの詳細 ・発生している問題・エラーメッセージの「logを出したところ、duplicated tablesと出ました。」も何のログがどのように出たのか正確な引用
dameo

2021/10/22 10:53

databaseのバージョン記述ありがとうございます。 エラーメッセージの方の正確な引用についてはどうでしょう?現在すでに発生しない状況だったり、別の問題が発生しているのであればそう記述願います。
guest

回答1

0

ベストアンサー

Dockerfileのパス間違ってませんか?
./docker/Dockerfile ./api/docker/Dockerfile

投稿2021/10/19 19:19

m055001

総合スコア72

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m055001

2021/10/20 04:29

・何か変化はありましたか? ・Dockerfileの指定がなくなってますが、問題ないんでしょうかね? ・dbのvolumsのdb-dataはどの階層にあるのでしょうか?(docker-compose.ymlと同じであれば ./db-data なのでは) ・その他、postgreの設定について以下は参考になるかもです https://reon777.com/2021/07/15/docker-compose-postgres/ ・「修正しました」だけではなく、修正した結果どうなったかまでご連絡をいただけなければ話が進みません
dameo

2021/10/27 18:05 編集

知らないうちに解決してるようだったのですが、この質問でこの回答で解決のままだと何が何だか分からず、他の人をミスリードしてしまいそうなので、低評価させてもらいました。 手元で動かした結果だけ簡単に書いておきます(本題と関係なさそうなのでdbアクセスはしていません)。 cat >docker-compose.yml <<EOF version: '3' services:  db:   image: postgres:12.6-alpine   restart: always   environment:    POSTGRES_PASSWORD: example   ports:    - 5432:5432   volumes:    - ./db-data:/var/lib/postgresql/data  app:   build: .   ports:    - "8080:8080"   volumes:    - ./src/:/go/src EOF cat >Dockerfile <<EOF FROM golang:1.16 WORKDIR /go/src COPY ./docker-entrypoint.sh / COPY ./src . RUN go get github.com/cosmtrek/air && \ go get github.com/gin-gonic/gin && \ go get github.com/jinzhu/gorm && \ go get github.com/jinzhu/gorm/dialects/postgres CMD ["/docker-entrypoint.sh", "air", "-c", ".air.toml"] EOF cat >docker-entrypoint.sh <<EOF #!/bin/sh if [ ! -f "/go/src/.air.toml" ]; then     cp -p /go/pkg/mod/github.com/cosmtrek/air\@*/air_example.toml ./.air.toml     go mod init sample     go mod tidy fi exec "$@" EOF chmod u+x docker-entrypoint.sh mkdir src cat >src/main.go <<EOF package main import "github.com/gin-gonic/gin" func main() {  r := gin.Default()  r.GET("/", func(c *gin.Context) {   c.JSON(200, gin.H{    "message": "hoge",   })  })  r.Run() } EOF docker-compose build docker-compose up -d docker-compose logs -f ※全角空白を半角空白2つで置換してお使いください
m055001

2021/10/28 01:08

ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問