GithubHelp home page GithubHelp logo

ex4's Introduction

Go言語のシンプルなWebサービス

イメージのビルド

シングルステージか、マルチステージかは、択一です。 シングルステージは開発やデバッグ用、マルチステージは統合テストや本番用と見なすことができます。

  • マルチステージビルド
  docker build -t ex4:1.0 .
  • シングルステージビルド
  docker build -t ex4:dev -f Dockerfile.singlestage .

イメージの実行

マルチステージで開発したコンテナの実行

docker run --name ex4 -d -p 9400:8086 ex4:1.0

シングルステージで作ったコンテナの実行

docker run --name ex4-dev -d -p 9400:8086 ex4:dev

アクセステスト

curl http://localhost:9400/ping;echo

コンテナへ入る

シングルステージの場合

docker exec -it ex4 bash

注意、マルチステージで作られたイメージのコンテナにはログインできません。

イメージをレジストリへ登録

export CR_PAT=YOUR_TOKEN
export USERNAME=YOUR USERID 
echo $CR_PAT | docker login ghcr.io -u $USERNAME --password-stdin
docker tag ex4:1.0 ghcr.io/takara9/ex4:1.0
docker push ghcr.io/takara9/ex4:1.0

クリーンナップ

docker stop ex4
docker rm ex4
docker rmi ex4:1.0
docker rmi ghcr.io/takara9/ex4:1.0

GitHubでのリリース方法

メインブランチへ移動してコードを最新化する。そして、ブランチを削除

$ git checkout main
$ git pull
$ git branch -d update_branch

リリースするTAGを設定する。 ここで付与するTAGはコンテナイメージのタグになるので、リポジトリを確認して、タグ名を決めること。

TAG=1.x
$ git tag -a $TAG -m "version $TAG"
$ git push origin $TAG

ex4's People

Contributors

takara9 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.