Open7

備忘(環境構築のたびに調べているようなメモ)

foxtailmilletfoxtailmillet

docker ps の書式フォーマット

# コマンド
$docker ps --format "table {{.Names}}"

# よく仕込むエイリアス
alias sps='sudo docker ps --format "table {{.Names}}\t{{.Status}}\t{{.ID}}\t{{.Image}}"'
項目 内容
.ID コンテナ ID
.Image イメージ ID
.Command クォートされたコマンド
.CreatedAt コンテナが作成された時間
.RunningFor コンテナが起動してからの時間
.Ports 公開しているポート
.Status コンテナのステータス
.Size コンテナのディスク容量
.Names コンテナ名
.Labels コンテナに割り当てられている全てのラベル
.Label コンテナに割り当てられた特定のラベル。例: {{.Label "com.docker.swarm.cpu"}}

公式ページ

foxtailmilletfoxtailmillet

docker images の書式フォーマット

# よく仕込むエイリアス
alias simage='sudo docker images --format "{{.ID}}\t【{{.Repository}}:{{.Tag}}}】({{.Size}})"'
プレースホルダ 説明
.ID イメージ ID
.Repository リポジトリ
.Tag イメージのタグ
.Digest イメージのダイジェスト版
.CreatedSince イメージを作成してからの経過時間
.CreatedAt イメージの作成時間
.Size イメージ・ディスクの容量

公式ページ

foxtailmilletfoxtailmillet

docker-compose でDockerfileを指定するときの書き方

docker-compose.yml
version: '3'

services:
  container:
    build:
      context: .
      dockerfile: Dockerfile1
foxtailmilletfoxtailmillet

sshの鍵作成

# とりあえずRSA
$ cd ~/.ssh
$ ssh-keygen -t rsa

# セキュアにするならssh-keygenのオプションはその都度最新を調べなおすこと。

sshの鍵をサーバーに転送

ssh-copy-id ${USER}@${target_host}
foxtailmilletfoxtailmillet

Java Debuger(JDB)を使う

Javaアプリケーション実行側

# 実行してみていないので、もしかしたら微妙にパラメタ間違っているかも。(ハイフンが足りないとか)
java -Xdebug -Xrunjdwp:transport=dt_socket,address=9000,server=y,suspend=n

JDBクライアント側

jdb -connect com.sun.jdi.SocketAttach:hostname=localhost,port=9000

Mavenでアプリケーションを起動している場合

アプリケーション側

# 環境変数設定(PowerShellの例。Linuxでも環境変数を使う点は一緒)
$env:MAVEN_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=9000,server=y,suspend=y"

# Mavenコマンドで起動
…

公式ページ。たぶんこれが一番新しい情報?

foxtailmilletfoxtailmillet

Mavenのメモ

メインビルドスキップ

mvn -Dmaven.main.skip=true

テストビルドスキップ

mvn -Dmaven.test.skip=true

ライブラリをローカルインストール

# なんでだか忘れたけど-Uを付けたほうが良い。(強制的に更新、だった気がする)
mvn install -U

ローカルインストールしたライブラリをアンインストール

mvn build-helper:remove-project-artifact
foxtailmilletfoxtailmillet

サーバー無しでgitを暫定運用したいとき(普通はやらない。)

利用タイミング

どうしてもサーバーが入手できないときに無理やりgit管理をする。
(ローカルディレクトリを直接参照してgit cloneできる環境を作る)

ローカルに参照専用リポジトリを作成

git init時に --shared を付ける。(共有)
ついでに、作業用に使えないように --bare も付けておく。
(--bareをつけなくても想定通りに利用できるが、git clone 元に作業ファイルがあると混乱が起こるので)

mkdir /path/to/bare_repository
cd /path/to/bare_repository
git init --bare --shared

ローカルの別の場所からgit clone

git clone 時のURLにプロトコルを付けずにいきなりディレクトリから指定を始めればうまくいった。
pushはpullも問題なく動いた。

git clone /path/to/bare_repository

既存のローカルリポジトリ内容をUPしたい場合

remoteにaddしてから強制push

git remote add origin /path/to/bare_repository
git push --set-upstream origin master