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

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"}} |

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

docker-compose でDockerfileを指定するときの書き方
docker-compose.yml
version: '3'
services:
container:
build:
context: .
dockerfile: Dockerfile1

sshの鍵作成
# とりあえずRSA
$ cd ~/.ssh
$ ssh-keygen -t rsa
# セキュアにするならssh-keygenのオプションはその都度最新を調べなおすこと。
sshの鍵をサーバーに転送
ssh-copy-id ${USER}@${target_host}

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コマンドで起動
…

Mavenのメモ
メインビルドスキップ
mvn -Dmaven.main.skip=true
テストビルドスキップ
mvn -Dmaven.test.skip=true
ライブラリをローカルインストール
# なんでだか忘れたけど-Uを付けたほうが良い。(強制的に更新、だった気がする)
mvn install -U
ローカルインストールしたライブラリをアンインストール
mvn build-helper:remove-project-artifact

サーバー無しで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