IoT学習日記10


1.ldflags解析:値を割り当てる変数にスペースが含まれている場合は、-Xの後の変数と値を引用符で拡張する必要があります.
flags="-X 'main.goversion=$(go version)'"
go build -ldflags "$flags" -x -o build-version main.go

2.go buildコンパイル時の追加パラメータ解析:[1]-v:コンパイル時にパッケージ名を表示[2]-p n:同時コンパイルをオン、デフォルトではこの値はCPU論理コア数[3]-a:強制再構築[4]-n:コンパイル時に使用するすべてのコマンドを印刷するが、実際には実行しない[5]-x:コンパイル時に使用するすべてのコマンドを印刷する[6]-race:競合検出をオン
3.Docker buildコマンド解析:docker buildコマンドはDockerfileを使用してミラーを作成するために使用されます.[1]--build-arg=[]:ミラー作成時の変数を設定[2]--cpu-shares:CPU使用重みを設定[3]--cpu-period:CPU CFS周期を制限[4]--cpu-quota:CPU CFS割当を制限[5]--cpuset-cpus:使用するCPU idを指定[6]--cpuset-mems:使用するメモリidを指定[7]--disable-content-trust:チェックを無視デフォルトオン[8]-f:使用するDockerfileパスを指定[9]--force-rm:ミラーリング中に中間コンテナを削除する[10]--isolation:コンテナ分離技術を使用[11]--label=[]:ミラーリングで使用するメタデータを設定[12]-m:メモリ最大値を設定[13]--memory-swap:Swapの最大値をメモリ+swapとし、「-1」は、swapに限らず[14]--no-cache:ミラーを作成するプロセスはキャッシュを使用しない[15]--pull:ミラーの新しいバージョンを更新しようと試みる[16]--quiet, -q:サイレントモード、成功後ミラーIDのみ出力[17]--rm:ミラー成功後削除中間コンテナを設定する[18]--shm-size:設定/dev/shmのサイズ、デフォルト値は64 M[19]--ulimit:Ulimit構成である.[20]--tag, -t:ミラーの名前およびラベル.通常、name:tagまたはnameフォーマットは、1つのミラーに複数のラベルを1つの構築で設定することができる.[21]--network:デフォルトdefault.構築中にRUN命令のネットワークモードを設定する
4.systemctl daemon-reload解析:あるサービスのプロファイルを再ロードし、新しいサービスがインストールされた場合、systemctl管理に帰属し、新しいサービスのサービスプログラムプロファイルが有効になった場合、再ロードする必要がある.
5.docker build http_を使用proxy解析:
docker build \
--build-arg http_proxy=http://10.188.61.2:8118 \
--build-arg https_proxy=https://10.188.61.2:8118 \

6.Goプログラミングテスト解析:[1]Go言語にはユニットテストと性能テストシステムがあり、少ないコードを追加するだけで需要コードを迅速にテストすることができます.[2]ユニットテストとは、ソフトウェア内の最小のテスト可能ユニットの検査と検証を指す.[3]ユニットテストは、ソフトウェア開発の過程で行われる最低レベルのテスト活動であり、ソフトウェアの独立したユニットはプログラムの他の部分から隔離された状態でテストを行う.
7.go vet解析:vetはgolangで提供されている構文チェックツールで、packageまたはソースファイルに隠されているエラーをチェックすることができます.
8.go fmtコマンド解析:[1]go fmtコマンドは、指定されたコードパッケージ内のすべてのGo言語ソースファイルのコードをGo言語コード仕様に従ってフォーマットし、すべてのGo言語ソースファイルは、コマンドソースファイル、ライブラリソースファイル、およびテストソースファイルを含む[2]コードパッケージにサブコードパッケージがある場合、サブコードパッケージ内のGo言語ソースファイルは含まれていない[3]go fmtコマンドは、指定したコードパッケージ対応ディレクトリに直接保存されているGo言語ソースファイルのみをフォーマットします.
9.gofmtコマンド解析:Golangの開発チームは統一的な公式コードスタイルを制定し、gofmtツール[gofmtまたはgo fmt]を発売し、開発者が統一的なスタイルにコードをフォーマットするのを助けた.[1]-l:フォーマット仕様に合致しない、コマンドプログラムによって書き換える必要があるソースファイルの絶対パスのみを標準出力に印刷する.書き換えたすべての内容を標準出力に印刷するのではありません.[2]-w:書き換えた内容を、結果として標準出力に印刷するのではなく、ファイルに直接書き込む.[3]-r:a[b:len(a)]->a[b:]のような書き換え規則を追加します.追加のフォーマットルールをカスタマイズする必要がある場合は、それを使用する必要があります.[4]-s:ファイル内のコードを簡略化します.[5]-d:書き換え前後の内容のコントラスト情報のみを結果として標準出力に印刷する.書き換えたすべての内容を標準出力に印刷するのではありません.コマンドプログラムはdiffコマンドを使用してコンテンツを比較します.Windowsオペレーティングシステムではdiffコマンドがない場合がありますが、別途インストールする必要があります.[6]-e:すべての構文エラーを標準出力に印刷します.このタグを使用しない場合は、1行目のエラーのみが印刷され、最初の10エラーのみが印刷されます.[7]-comments:ソースファイルのコメントを保持するかどうか.デフォルトでは、このタグは暗黙的に使用され、値はtrueです.[8]-tabwidth:このタグは、コード内のインデントに使用されるスペースの数を設定するために使用されます.デフォルトは8です.このタグを有効にするには、「-tabs」タグを使用してfalseに値を設定する必要があります.[9]-tabs:スペースの代わりにtabを使用してインデントを表すかどうか.デフォルトでは、このタグは暗黙的に使用され、値はtrueです.[10]-cpuprofile:CPU使用状況記録をオンにし、このマーク値が示すファイルに記録内容を保存するか.
10.docker runコマンド解析:新しいコンテナを作成し、コマンドを実行します.
11.docker run-rm解析:docker runコマンドバンド-rmコマンドオプションを実行します.コンテナが終了した後、docker rm-vを実行するのと同じです.
12.docker runのprivilegedパラメータ解析:dockerアプリケーションコンテナはホストroot権限を取得します.
13.Alpine Linux解析:Alpine Linuxはセキュリティアプリケーション向けの軽量Linuxリリース版です.musl libcとbusyboxを採用し、システムのボリュームと実行時のリソース消費を削減し、独自のパッケージ管理ツールapkを提供しています.
14.dockerfile基本構成部分解析:[1]ベースミラー情報:FROM[2]メンテナ情報:MAINTAINER[3]ミラー操作指令:RUN、COPY、ADD、EXPOSE、WORKDIR、ONBUILD、USER、VOLUME、ENVなど[4]コンテナ起動時実行指令:CMD、ENTRYPOINT
15.docker-compose up-d解析:すべてのコンテナを起動し、-dはバックグラウンドですべてのコンテナを起動して実行します.
16.docker-compose -f docker-compose.yml up-d解析:-f使用するcomposeテンプレートファイルを指定し、デフォルトはdocker-compose.yml、複数回指定できます.
17.docker-compose down解析:すべてのコンテナとネットワーク関連の削除を無効にします.
18.docker-compose logs解析:サービスコンテナの出力を表示します.
19.docker-compose ps解析:プロジェクト内の現在のすべてのコンテナをリストします.
20.docker-compose pull解析:サービス依存ミラーを抽出します.
21.docker-compose restart解析:プロジェクト内のサービスを再起動します.
22.docker-compose rm解析:すべての[停止状態]サービスコンテナを削除します.コンテナを停止するにはdocker-compose stopコマンドを先に実行することをお勧めします.
23.docker-compose run ubuntu ping docker.com解析:指定したサービスでコマンドを実行します.
24.docker-compose start解析:既存のサービスコンテナを起動します.
25.docker-compose stop解析:すでに実行中のコンテナを停止しますが、削除しません.
参考文献:[1]docker build:https://docs.docker.com/engine/reference/commandline/build/[2]Docker runコマンド:https://www.runoob.com/docker/docker-run-command.html[3]Dockerfileコマンドの詳細:https://www.cnblogs.com/yanh0606/p/11360936.html