0
0

More than 3 years have passed since last update.

Dockerを使用してgo環境を構築

Posted at

今回は最近勉強しているDockerを使用してgo環境の構築を行いました。

1.Dockerfileを作成
FROM golang:latest
RUN mkdir /go/src/charts_server && apt-get update && apt-get install \
  -y vim
WORKDIR /go/src/charts_server
ADD . /go/src/charts_server

・FROM golang:latest
  golangの最新版をベースにします。

・RUN mkdir /go/src/charts_server && apt-get update && apt-get install \ -y vim
  mkdirで作業場所の作成。エディタもインストールします。

・WORKDIR /go/src/charts_server
   Docker instructionの実行ディレクトリを/go/src/charts_serverへ変更。

・ADD . /go/src/charts_server
  カレントディレクトリを/go/src/charts_serverへコピーします。

2.docker-compose.ymlを作成
version: '3'
services:
app:
build: .
tty: true
volumes:
- ./work:/go/src/charts_server
ports:
- "8080:8080"
depends_on:
- mysql
mysql:
image: mysql:latest
container_name: mysql_charts_container
environment:
MYSQL_ROOT_PASSWORD: ${ROOTPASS}
MYSQL_DATABASE: ${DATABASE}
MYSQL_USER: ${USERNAME}
MYSQL_PASSWORD: ${USERPASS}

3.上記のファイルを作成後に以下のコマンドをターミナルにて実行
$docker-compose up -d
Dockerfileとdocker-compose.ymlの記述内容を元に環境が構築されます。

4.作成したDockerコンテナの中へ入るコマンドを実行
$docker exec -it charts_server_app_1 /bin/bashを実行し、コンテナ内に入る

上記コマンドを入力することでコンテナ内に入れます。
コンテナ内の/go/src/charts_serverをworkディレクトリへマウントしています。
そのため、/go/src/charts_serverへフォルダやファイルを追加するとマウントしているworkディレクトリにも追加されます。

所感
 今回はDockerを使用してgoの環境構築を実行しました。かなり難しかったです。
pythonに対しての環境構築は何度も行っているので、サクサクできるが、今回は時間がかかりました。
苦戦はしたが、Dockerで一度環境を構築してしまえば他の人に対しても配布できるし、環境構築で同じように時間がかかることがないのでメリットは大きいなと思います。
そして何よりも、pc内にgoをインストールしなくても、Docker内でgoを使用できるのはかなりいいです。(誰かと共同作業するわけでも無いので、意味ないんですけどね・・・)

環境構築をする際に参考にさせていただいたのは以下になります。
データサイエンティストかめさんのブログ:わかりやすくておすすめです。
dockerを使ってGolangの環境構築:ほぼほぼ真似させていただきました。

0
0
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
0