2022/10/28

Dockerインストール

# Dockerインストール
## 参考文献
https://docs.docker.com/install/linux/docker-ce/ubuntu/
## ゴミ削除
sudo apt-get remove -y docker
sudo apt-get remove -y docker-engine
sudo apt-get remove -y docker.io
sudo apt-get remove -y containerd
sudo apt-get remove -y runc
## 依存関係インストール
sudo apt-get install -y ca-certificates
sudo apt-get install -y curl
sudo apt-get install -y gnupg
sudo apt-get install -y lsb-release
## インストール
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" >> /etc/apt/sources.list.d/docker.list'
sudo apt-get update
sudo apt-get install -y docker-ce
sudo apt-get install -y docker-ce-cli
sudo apt-get install -y containerd.io
sudo apt-get install -y docker-compose-plugin
## 動作確認
### Windows11&WSLの場合
sudo service docker start
sudo docker container run --rm hello-world
### それ以外の場合
sudo docker container run --rm hello-world
## sudoなしでdocker使いたい場合
sudo usermod -aG docker $USER
## バージョン確認
docker --version
docker compose version

# docker-image
## イメージ一覧
sudo docker image ls -a
sudo docker images -a
## コンテナからイメージ作成
sudo docker container commit コンテナID イメージ名:タグ名
sudo docker commit コンテナID イメージ名:タグ名
## Dockerfileからイメージ作成
sudo docker image build -f ./Dockerfile -t イメージ名:タグ名 .
sudo docker build -f ./Dockerfile -t イメージ名:タグ名 .
## イメージ削除
sudo docker image rm イメージID
sudo docker rmi イメージID

# docker-container
## コンテナ一覧
sudo docker container ls -a
sudo docker ps -a
## コンテナ情報
sudo docker container inspect コンテナID
sudo docker inspect コンテナID
## コンテナ起動
sudo docker container start コンテナID
sudo docker start コンテナID
## コンテナ停止
sudo docker container stop コンテナID
sudo docker stop コンテナID
## コンテナ削除
sudo docker container rm コンテナID
sudo docker rm コンテナID

# docker-network
## ネットワーク一覧
sudo docker network ls
## ネットワーク作成
sudo docker network create --subnet "10.5.0.0/16" --attachable ネットワーク名
## ネットワーク削除
sudo docker network rm ネットワークID

# docker-volume
## ストレージ一覧
sudo docker volume ls
## ストレージ作成
sudo docker volume create
## ストレージ削除
sudo docker volume rm
## 未使用データ削除
sudo docker volume prune

# docker共通
## ディスク使用量確認
sudo docker system df
## 未使用データ削除
sudo docker system prune
## リソースの使用状況確認
sudo docker container stats -a
sudo docker stats -a
## ログ確認
sudo docker container logs -t コンテナID
sudo docker logs -t コンテナID
## ログ
/var/lib/docker/containers/コンテナID/コンテナID-json

# イメージからコンテナ起動
sudo docker container run -it --name コンテナ名 -p ホストのポート番号:コンテナのポート番号 イメージ名:タグ名 ${SHELL}
sudo docker run -it --name コンテナ名 -p ホストのポート番号:コンテナのポート番号 イメージ名:タグ名 ${SHELL}
## コンテナから離脱
### コンテナ終了
exit
### コンテナ維持
「Ctrl+P」→「Ctrl+Q」
## コンテナに再接続
sudo docker container attach コンテナID
sudo docker attach コンテナID

# イメージからコンテナをバックグラウンド起動
sudo docker container run -itd --name コンテナ名 -p ホストのポート番号:コンテナのポート番号 イメージ名:タグ名
sudo docker run -itd --name コンテナ名 -p ホストのポート番号:コンテナのポート番号 イメージ名:タグ名
## イメージからコンテナをバックグラウンド起動かつ終了時自動削除
sudo docker container run -itd --rm --name コンテナ名 -p ホストのポート番号:コンテナのポート番号 イメージ名:タグ名
sudo docker run -itd --rm --name コンテナ名 -p ホストのポート番号:コンテナのポート番号 イメージ名:タグ名
## コンテナに接続
sudo docker container exec -it コンテナID ${SHELL}
sudo docker exec -it コンテナID ${SHELL}

# コンテナレジストリサーバー
## 認証情報
$HOME/.docker/config.json
## イメージへのタグ付け
sudo docker image tag イメージ名:タグ名 コンテナレジストリサーバー/イメージ名:タグ名
sudo docker tag イメージ名:タグ名 コンテナレジストリサーバー/イメージ名:タグ名
## イメージpull
sudo docker image pull コンテナレジストリサーバー/イメージ名:タグ名
sudo docker pull コンテナレジストリサーバー/イメージ名:タグ名
## イメージpush
sudo docker image push コンテナレジストリサーバー/イメージ名:タグ名
sudo docker push コンテナレジストリサーバー/イメージ名:タグ名

# DockerComposeでコンテナ起動
sudo docker compose -f ./compose.yaml up -d
## 状態確認
sudo docker compose ps -a
## コンテナ停止
sudo docker compose stop
## コンテナ削除
sudo docker compose rm
## 全削除(イメージ、コンテナ、ネットワーク)
sudo docker compose down --rmi all

2022/04/04

WSLインストール

WSLインストール

# WSL設定
## 場所
C:\Users\ユーザー名\.wslconfig
## 内容
[wsl2]
memory=10GB
processors=5
swap=5GB


# コマンドプロンプト
## インストール可能OS一覧
wsl --list --online
## インストール
wsl --install OS名
## アップグレード
wsl --update
## 再起動
wsl --shutdown
## バージョン確認
wsl --list --verbose
## アンインストール
wsl --unregister OS名


# WSL内
## 日本語化
sudo apt-get install -y language-pack-ja-base
sudo apt-get install -y language-pack-ja
sudo apt-get install -y ibus-kkc
sudo update-locale LANG=ja_JP.UTF8
exit


# 注意点
serviceは使えるが、systemctlは使えない

git操作

git操作

# git初期設定
sudo apt-get install -y git
ssh-keygen -t rsa -b 4096
>パスワード
ssh -T git@github.com

git config --global user.email "メールアドレス"
git config --global user.name "名前"


# GoogleSourceRepositories運用
## 初回
gcloud init
gcloud source repos clone レポジトリ名 --project=プロジェクトID
cd レポジトリ名


# GitHub運用
## 初回
git clone git@github.com:レポジトリ名.git
cd レポジトリ名
## 毎回
git switch master
git pull
git switch dev/開発ブランチ名
## 開発ブランチ作成
git switch --create dev/開発ブランチ名
git switch -c dev/開発ブランチ名
## 開発ブランチ参加
git switch --create dev/開発ブランチ名 origin/dev/開発ブランチ名
git switch -c dev/開発ブランチ名 origin/dev/開発ブランチ名
## add,update,fix
git add ファイル名
git commit --message "[コミット種別] バックログ番号 変更内容"
git push origin dev/開発ブランチ名

git add -A
git commit -m "[コミット種別] バックログ番号 変更内容"
git push origin dev/開発ブランチ名
## remove
git rm ファイル名
git commit --message "[remove] バックログ番号 変更内容"
git push origin dev/開発ブランチ名


# TIPS
## 状態確認
git status

## レポジトリ内の全ての変更を一括追加する
git add --all
git add -A
## レポジトリ内の全ての変更を一括追加する(新規追加ファイルは対象外)
git add --update
git add -u
## ディレクトリ内の全ての変更を一括追加する
git add .

## git add前のファイルの変更を戻す
git restore ファイル名
## git add後のファイルの変更を戻す
git restore --staged ファイル名
git restore -S ファイル名

## コミット番号を確認する
git log --oneline
git log --graph

## ファイルをコミット番号の状態にする
git restore --source コミット番号 ファイル名
git restore -s コミット番号 ファイル名
## ディレクトリ内をコミット番号の状態にする
git restore --source コミット番号 .
git restore -s コミット番号 .

## masterブランチにコミットしてしまった
git rebase 1個前のコミット番号
git switch --create dev/開発ブランチ名
git cherry-pick 該当コミット番号
git push origin dev/開発ブランチ名

## ローカルブランチ一覧
git branch
## リモートブランチ一覧
git branch --remotes
git branch -r
## ブランチ一覧
git branch --all
git branch -a

## マージ済みブランチの削除
git branch --delete dev/開発ブランチ名
git branch -d dev/開発ブランチ名
## マージされていないブランチの削除
git branch --delete --force dev/開発ブランチ名
git branch -D dev/開発ブランチ名

ワイルドカード

 ワイルドカード

*
任意の0文字以上の文字列

?
任意の1文字

[a-z]
英字の1文字

[0-9]
数字の1文字

[a,b,c]
「a,b,c」のどれか1文字

[^a-z]
英字以外の1文字

[^0-9]
数字以外の1文字

[^a,b,c]
「a,b,c」以外のどれか1文字

{abc,def,ghi}
「abc,def,ghi」のうちのどれか

.
カレントディレクトリ

./hoge
カレントディレクトリのhoge

find操作

find操作

# ディレクトリ内をワイルドカードを利用したファイル名で検索
find ディレクトリ名 -name ファイル名

# ディレクトリ内の日数にアクセスされたファイルを検索
find ディレクトリ名 -atime 日数

# ディレクトリ内の日数以内にアクセスされたファイルを検索
find ディレクトリ名 -atime -日数

# ディレクトリ内の日数以降にアクセスされたファイルを検索
find ディレクトリ名 -atime +日数

# ディレクトリ内の日数に更新されたファイルを検索
find ディレクトリ名 -mtime 日数

# ディレクトリ内の日数以内に更新されたファイルを検索
find ディレクトリ名 -mtime -日数

# ディレクトリ内の日数以降に更新されたファイルを検索
find ディレクトリ名 -mtime +日数