0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

dockercomposeでGoの環境構築

Posted at

dockercompose でGoの環境構築

はじめに

docker かなり初心者。dockercompose の使い方を勉強した備忘録。

問題

docker-compose を使って Go 環境を作成する

解決方法

↓ を参考に最低限の Go 環境を作成する
DockerでGo言語の開発環境を作る方法

フォルダ構成

project
├backend
│ └Dockerfile
│ └cmd/
│   └─api/
│    └─main.go
└docker-compose.yml

DockerFile

FROM golang:1.19.1-alpine3.16

WORKDIR /app

COPY ./backend .

CMD ["go", "run", "./cmd/api"]

docker-compose

version: "3.8"

services:
  backend:
    build:
      dockerfile: ./backend/Dockerfile
    ports:
      - 8080:8080
    volumes:
      - ./backend:/app

作業中のメモ

作成する中でのメモを残す

  • docker-compose.yml メモ
    • image
      • コンテナを作成するイメージの指定
      • イメージがローカルにない場合は Docker Hub から取得する
      • build が指定されている場合は DockerFile から作成されたイメージのイメージ名になる
    • build
      • dockerfile
        • ビルド時に DockerFile からイメージを作成する
    • volumes
      • volume の指定(データの永続化)
      • ローカルをマウントすることができる
  • コマンドメモ
docker compose up

docker-compose.yml に従ってコンテナを作成する
-d オプションをつけることでバックグラウンドで起動できる(デタッチモード)
--build で起動前にビルドできる

docker compose down

docker compose up で作成したコンテナを停止してコンテナとネットワークを削除する

docker compose run --rm backend sh

コンテナ内でコマンドを実行する。
例のようにすると backend(サービス名)を起動して sh を実行するためコンテナ内を操作することができる
--rm オプションをつけるとコンテナから exit した時にコンテナを削除する

おわりに

まだこれで開発が楽にできるって具体的な方法がイメージができていない。
引き続き自分が Docker でできることを増やす

参考

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?