docker-composeで.evnのWindowsでの設定位置
dockerを利用して、サーバーとローカル環境のを同じにしたいと思って調べたけど、簡単には出てこなかったので、メモ。
参考:
Windows環境における docker-compose の .env と 環境変数の優先順位 - Qiita
または
SETX 変数名 値
※PCの再起動を行わないと、反映されない。
以上。
Blazor Preview5 から Preview6へ
※CentOSによるDockerの確認はしていないです。
参考:
ASP.NET Blog | ASP.NET Core and Blazor updates in .NET Core 3.0 Preview 6
リリースノート:
core/3.0.0-preview6.md at master · dotnet/core · GitHub
・DockerImageも更新されるので注意!(Alpineは更新されてた・・・)
内容:
SDKの更新:忘れてビルドがエラーになってた・・・
https://dotnet.microsoft.com/download/thank-you/dotnet-sdk-3.0.100-preview6-windows-x64-installer
VisualStudioは2019 Verは16.2が必要とのこと。
※Preview でないと、16.2がリリースされていませんので注意してください(2019/07/07)
内容:
Nugetで関連する物を「3.0.0-preview6.19307.2」に更新する
(各ソリューションで2個変更する)
Blazorの内部の更新内容:(サンプルの変更点で実際に新しいのは動く)
・全体:
・「@functions」を「@code」に変更する
・「onclick」を「@onclick」にする
・デフォルトソース:*.Server/Startup.cs内
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapDefaultControllerRoute();
});app.UseBlazor
();
↓
app.UseClientSideBlazorFiles
(); app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapDefaultControllerRoute();
endpoints.MapFallbackToClientSideBlazor("index.html");
});
以上。
再度作成し直しを行えば、初期の物は動くので、それに合わせれば動くと思われる。
・・・ClientSideはまだ、デバッグできなかったけど・・・
Docker + Blazor 3.0 での実行
基本参考情報:
Blazor(C#)をDockerで動かす - altescy's project
上記は2.1での実行なので、3.0で作るとそのままは動かなかった。
そのため、Dockerfileを以下のように書き換えた
FROM mcr.microsoft.com/dotnet/core/sdk:3.0-alpine AS Build
WORKDIR /app
COPY . ./
RUN dotnet restore
RUN dotnet publish -c Release -o outEXPOSE 80
ENTRYPOINT ["dotnet", "out/プロジェクト名.Server.dll"]
とりあえず、Localhostでの実行できることを確認した。
FROMとENTRYPOINT が変わっているので注意が必要です。
※Windowsで試すと警告が出るので、グローバルへの公開は設定等を見直してください。
以上。
実際にグローバルに公開できたらより詳しく記事にする予定です。
Blazor for VS2019
久しぶりでちょっと迷ったのでメモです。
以下から対象のVS2019 Core3.0をDLする。(ちょっと大きい)
私の時はv3.0.100-preview5
(2019/05/10 22:45)
ASP.NET COREを選択
ここでASP.NET CORE 3.0を選んでBlazorが無ければ拡張機能でBlkazorをいれればOK
Blazor(ASP.NET Core hosted)を選択
(Dockerがサポートされてないだと・・・!?)
そして、、、実行すると、、、
普通に表示される。
Dockerでもしかして実行できないのかなぁ・・・
0.7の時よりデフォルトがちょっとかっこよくなってる感じ。
デフォルトだと、ReSharperに指摘を受けるので、ちょっとどうするかは、検討が必要そう。
エラーいっぱいでウザい場合は、エラー一覧の表示をビルドのみに変更することをおすすめします。
英語の始め方はこちら
今更ながらDockerのチュートリアルをやってみた。
gradleもそうだけど、まず、触ってみる必要があるよね、知ったときに忘れないようにしないと・・・
自分のメモをかねて。
Docker チュートリアル(part1~4)
Get Started, Part 1: Orientation and setup | Docker Documentation
docker --version
ヘルプは
--help
をつける
実行
docker run hogehoge
イメージリスト
docker image ls --all
サーバーを立てて起動
起動中のDockerの確認
docker container ls --all
デタッチ
docker run --detach --publish 80:80 --name webserver nginx
コンテナのストップ
docker container stop hogehoge
lsのNameをせっとする
コンテナの削除
docker rm hogehoge
上記のストップ時のhogehogeと同じ
ビルド
docker build --tag=hogehoge
ポートを指定して起動
docker run -p 4000:80 friendlyhello
ログイン(イメージのプッシュなどで利用する)
docker login
タグ付け
docker tag イメージ名 リポジトリ名:タグ名
例:
docker tag friendlyhello taketakekaho/get-started:part2
プッシュ
docker push リポジトリ名:タグ名
Dockerのロードバランサーの初期化
docker swarm init
アプリに名称をつけて、Dockerへデプロイする
docker stack deploy -c docker-compose.yml getstartedlab
例:
docker stack deploy -c docker-compose.yml getstartedlab
サービスの一覧(バランサーの一覧???)
docker service ls
サービスタスクの一覧を表示
docker service ps getstartedlab_web
サービスを停止して切り離す
docker stack rm getstartedlab
【環境準備】
↑をするためにはVMの作成が必要 windows10/Hyper-V
Hyper-Vマネージャーを起動
PC名を選択状態にして、メニューの操作から「仮想スイッチマネージャー」を選択
「外部」を選択して「仮想スイッチの作成」を行う
が、「docker-machine create -d hyperv --hyperv-virtual-switch "myswitch" myvm1」のコマンドでも良いらしい・名前を「myswitch」にする。(サンプルコマンドを動かすため)
・ネットワークアダプターの共有のチェックボックスがチェックされていることを確認する
配置(Hyper-Vに配信):コマンドプロンプトを管理者権限にする
docker swarm init
↑もしかしたらいらないかも(環境準備していなくてエラーになっていたので・・・)
docker-machine create -d hyperv --hyperv-virtual-switch "myswitch" myvm1
docker-machine create -d hyperv --hyperv-virtual-switch "myswitch" myvm2
VMのリスト表示
docker-machine ls
swarmの初期化と、ノードの追加
docker-machine ssh myvm1 "docker swarm init --help"
docker-machine ssh myvm1 "docker swarm init --advertise-addr マシンのIPアドレス:2376"
※例:
docker-machine ssh myvm1 "docker swarm init --advertise-addr 192.168.99.100:2376"docker-machine ssh myvm2 "docker swarm join \
- token
\ <マシンのIPアドレス>:2377"
↑改行はなくすことdocker-machine ssh myvm1 "docker node ls"
解放する場合は
docker swarm leave
コマンドで行う(2つとも)
クラスター群にデプロイする
「docker-compose.yml」を作成したフォルダに移動して、以下のコマンド行う(Part3で作ってるはず)
docker-machine env myvm1
※ポート番号には注意!(後で開かなくて???となってたので)
なんかサンプルと違うけど以下のコマンドを実行する
@FOR /f "tokens=*" %i IN ('docker-machine env myvm1') DO @%i
※このコマンドは一つ前のコマンドの実行結果で表示されている内容です。
これでアクティブになった。
デプロイする
docker stack deploy -c docker-compose.yml getstartedlab
docker stack ps getstartedlab
または、ログインして持ってくる
docker login
docker stack deploy --with-registry-auth -c docker-compose.yml getstartedlab
docker-machine ls
でIPを確認して、ブラウザで開く
※ポートはそのままの流れで来ていると4000番なので注意
削除
docker stack rm getstartedlab
開始と停止
docker-machine stop myvm1
docker-machine start myvm1
docker-machine restart myvm1
参考:
https://qiita.com/taketakekaho/items/62aee171c942af323b4c
↑途中で諦めてる・・・残念
※以下のサイトの<>でくくられているところは置き換え前提の箇所とのこと(by:https://github.com/docker/machine/issues/4303)
https://docs.docker.com/get-started/part1/
https://docs.docker.com/get-started/part2/
https://docs.docker.com/get-started/part3/
https://docs.docker.com/get-started/part4/
swarmに関して
http://docs.docker.jp/swarm/overview.html
docker stackに関して
https://medium.com/@Akitsuyoshi/docker-%E3%81%AEstack%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6-f58db0202673
GoLandの日本語化
忘れないようにメモ
※環境:Windows10
※以下のToolboxを入れていると、公式通りで良いかも・・・
GoLandのインストールと起動 - ヘルプ | GoLand
まず、GoLandをインストール。
JetBrains 製品の日本語化マニュアル - IntelliJ IDEA
より、WindowsのPleadesの日本語化ファイルを取得する
http://ftp.jaist.ac.jp/pub/mergedoc/pleiades/build/stable/pleiades-win.zip
多分これ。
で、解答すると中に、
「setup.exe」が存在する。
ので、これを起動する。
そうすると、アプリの選択が表示されるので、ディスクトップに作成されているショートカットから、
「ファイルの場所を開く」
を選択し、そのフォルダアドレスを
setup.exeのアプリ設定のダイアログに打ち込んで、対象として「goland64.exe」を選択する。
そうするとそれ以外の項目も自動ではいるのでそのまま進める。
完了すると、日本語化されていた。
・・・公式さん、説明が冗長ではありませんか・・・・
dotnetCoreみたいに簡潔でいい気がします(すっごい簡潔化されてるけど・・・)
(ついでに、Toolboxの中にないし、というか、Toolboxのフォルダがないし・・・びっくりしたよ・・・)
以上です。
追記:2019/03/04
一度Uninstallしてから、Toolboxでインストールしてファル構造を以下にして実行したら、動いた。
【構成】
test
└hello.go
【hello.goの中身】
package main
import "fmt"
func main(){
fmt.Printf("Hello, world\n")
}
コンソールに以下みたいなのが表示される
API server listening at: 127.0.0.1:51031
Hello, worldDebugger finished with exit code 0
以上。
なぜ前回だめだったのかはよくわからない。
日本語化はおんなじようにしてOKでした。
ちょっと、掃除の概念が変わるかもしれない、ハンディ掃除機の紹介
概要:EVOPOWER ハンディクリーナー | Shark(シャーク)
これを買いまして、
えぇ、16000ぐらいのですね!(電池2個もいらない)
買ってからの動きですが、
・ストレッチをするためにひいてあるマットレスにてストレッチ・筋トレをすると、、、ゴミが見えますよね?
その、見えた瞬間に、このハンディ掃除機があると、さっと掃除できてしまうんです。
・PCで遊んでいるときに、テーブルや、キーボード・・・時々、ゴミが気になりますよね?
その、見えた瞬間に、このハンディ掃除機があると、さっと掃除できてしまうんです。(コピペが楽
・部屋を出た瞬間・出る直前の埃が気になったら・・・
その、見えた瞬間に、このハンディ掃除機があると、さっと掃除できてしまうんです。(コピペが楽
つまり、部屋の手を伸ばしてもいい範囲にあると、掃除の意識が高まると思うのです。
値段は高いですが、専有量が非常に少なくて、とてもよいです。
もちろん、問題点もあります。
量販店の定員さんはそれを認知していませんでした。
・内部のフィルターの清掃(HPにも乗ってないし、ショップにも交換品が乗ってない)
すごく悲しいですよね?
それ以外は、かなり良いです。
買ってから2週間以上使ってますが、ちょっと気になったところにちょびっと当てるという使い方をしていて、
9割の日で電源ボタンを押しています。
数秒ですが、ちょこちょこ掃除ができてとても、よいと思います。
部屋の埃が気になる方にはおすすめしたいです。(潔癖ではなく、なんか気になるけど面倒と感じる方に対してです)
いいぇーい!