2021-10-01から1ヶ月間の記事一覧
Dockerfileを書く FROM golang:1.17-alpine RUN mkdir /go/src/app WORKDIR /go/src/app RUN go install github.com/cosmtrek/air@v1.27.3 COPY . . EXPOSE 8080 CMD "sh" "-c" "go mod tidy && air -c .air.toml" キャッシュを使ってビルドを高速化するため…
問題 go.modを作る。 $ go mod init main.goにimport "github/hoge/huga"を書く。 $ go mod tidy という手順でパッケージをインストールした。しかしmain.goではimportのところでエディターがエラーを吐いている。 エディターがパッケージを見つけられていな…
go.mod go getをすると中身が変わる。自分で触るファイルではない。 go get このコマンドはgo.modを書き換えてソースコードのダウンロード、ビルド、インストールを行う。 環境変数GOMODCACHEで指定されているディレクトリにダウンロードされる。 コマンドの…
問題 docker-compose.ymlにポート番号を書いているのに、$ docker-compose run --rm container_name shでコンテナの中に入ってサーバを立てても http://localhost:3000/へアクセスできない。 ports: - "3000:3000" 原因 docker-compose runは--service-ports…
原因 nodeのバージョンがおかしいから。 自分は2つのプロジェクトを担当している。1つはnodeのバージョンが古いアプリケーション。もう1つはnode16をDockerに入れている新しいアプリケーションだ。 コーディング中にESLintを使いたいのでnode_modulesはコン…
npm install npmi iはpackage.jsonを見てライブラリをインストールする。pacakge.jsonのバージョン指定には幅があるため、npm iする時期によってはpackage.json.lockを書き換えてしまう。 つまり完全に同じ開発環境を再現できない(可能性がある)。これはnpm …
試行錯誤して0からDockerfileを書いた記録です。 まず適当にDockerfileを書く。 FROM node:16-alpine WORKDIR /app ビルドしてコンテナに入る。 $ docker build . $ docker run --rm -it -p 3000:3000 a5e52242bb4f sh コンテナの中でサーバーを立てる /app …
コンテナの中に入るときは -v オプションでhostのファイルシステムと同期する $ docker run -it --rm -v (ホストの絶対パス):(コンテナの絶対パス) -p 3000:3000 <イメージ名> shでコンテナの中に入る Dockerfileは1つのプロジェクトに1つだとは限らない。い…
パッケージ 同じパッケージに属するなら、そのパッケージ内で変数や関数を参照できる。 つまりパッケージとは1つのファイルを複数に分割する仕組み。 文字列 Goの文字列はかなり特殊なので挙動に注意する。 イミュータブル。 値型なのに関数の引数に渡しても…