Go言語の勉強がしたくなり、Macで開発環境を準備してみました。
dockerの準備
作業用ディレクトリ作成
macでターミナルを開いてDesktopに移動します。
cd ~/Desktop
docker用の作業ディレクトリを作成します。
mkdir dockers cd dockers mkdir go cd go mkdir src
ファイル準備
touch docker-compose.yml
ディレクトリ構成
/go/ |-- docker-compose.yml +-- src # ソース用ディレクトリ
docker-compose.ymlの作成
macで修正したコードをコンテナに反映させたいので「volumes」でパスの設定を行います。
「./:/go」で「:」の左がホスト、右がコンテナのパスになっている。
version: "3" services: golang: image: golang:1.15.1 tty: true volumes: - ./:/go environment: - "GOPATH=/go"
コンテナを起動
$ docker-compose up -d Creating network "go_default" with the default driver Pulling golang (golang:1.15.1)... 1.15.1: Pulling from library/golang d6ff36c9ec48: Pull complete c958d65b3090: Pull complete edaf0a6b092f: Pull complete 80931cf68816: Pull complete 813643441356: Pull complete 2c05b70ce67b: Pull complete e82ad91b19e9: Pull complete Digest: sha256:bd7a499445abe17605c3c29ac4d924207c31f0274bcc011e933533ac603645e7 Status: Downloaded newer image for golang:1.15.1 Creating go_golang_1 ... done
動作確認
docker-compose exec golang bash root@fe992faf9c61:/go#
動作確認
sample.goというファイルに以下のコードを入力します。
package main import "fmt" func main() { fmt.Println("Hellow world!") }
以下のコマンドで実行します。
$ go run sample.go Hellow world!