draemonash2のメモ書き
Docker ドキュメント のインストール手順に従い、docker-ceをインストールする。
なお、WSL2 へのインストール手順は、ネイティブLinuxへのインストール手順と同じ。
docker images
docker search <image>
docker pull <image>[:<tag>]
docker tag <old_image> <new_image>[:<new_tag>]
docker rmi [opiton] <image1> <image2> ...
docker image prune
docker commit <container> <image>
docker build -t <image>[:<tag>] <dockerfile_dir_path>
docker build -t <image>[:<tag>] -f <dockerfile_path>
docker history <image>[:<tag>]
docker ps [<option>]
-a
:停止中コンテナも含む(ない場合は稼働中コンテナのみ)docker create [<option>] <image>[:<tag>] [<command>]
docker start [<option>] <container> [<container> ...]
docker stop <container> [<container> ...]
docker restart <container>
docker run [<option>] <image>[:<tag>] [<command>]
-d
(--detach
) :コンテナを生成し、バックグラウンドで実行する。-i
(--interactive
) :コンテナの標準入力を開く。-t
(--tty
) :端末デバイスを使う。(指定しない場合、キーボード入力を受け付けない)--name <container>
:コンテナに名前をつける。(指定しない場合は、自動で付与される)--rm
:コンテナ実行完了後にコンテナを自動で削除する。
exit
コマンドでコンテナから抜けたdocker stop
でコンテナを停止した-u <user_name>
(--user
) :ユーザー名(または UID)を指定する。--add-host=<host_name>:<ip_address>
:コンテナの /etc/hosts にホスト名とIPアドレスを定義する。-h
(--hostname
) :コンテナ自身のホスト名を指定する。(プロンプトにおける user@host $
の “host”)-p <host_port>:<container port>
(--publish
) :ホストとコンテナのポートを紐づける。-e <env_var>=<value>
(--env
) :環境変数を設定する。-v <host_dir>:<container_dir>
(--volume
) :コンテナとホストのディレクトリをマウント(紐づけ)する。-w <dir_path>
(--workdir
) :コンテナの作業ディレクトリ(コンテナ接続時の起動ディレクトリ)を指定する。--pid=<name>
:利用する PID 名前空間を指定する。--privileged
:コンテナに対して全権限を与える。(カーネルに対して潜在的に危険になりうる処理も実行できる)--network <network_name>
:--runtime <runtime_name>
:コンテナー向けに利用するランタイムを指定する。--entrypoint <script_path>
:イメージのデフォルト ENTRYPOINT を上書きするdocker exec [<option>] <container> <command>
run
と同様に使える。
-d
、 -i
、 -t
、 -e
、 --privileged
、 -u
、 -w
docker attach [<option>] <container>
docker status <container>
docker top <container>
docker rm <container>
docker container prune
docker cp [<option>] <src_path> <container>:<dest_path>
docker system prune
docker system df
docker system df -v
docker logs
イメージ ubuntu:22.04
からコンテナ作成&接続を行う。
docker run -it --rm --name Ubuntu22.04_container ubuntu:22.04 /bin/bash
docker exec -it --rm Ubuntu22.04_container /bin/bash
attach
exec
exit
コマンド実行
ctrl + p
-> ctrl + q
押下
docker run
→ docker container run
-t
)して、こちら(本デバイス)の標準入力をコンテナに伝えられるようにする(-i
)。${HOME}/.docker/config.json
を編集する
{
"detachKeys": "ctrl-e,e"
}
事象:WSL2へインストールした直後のDocker コマンド実行時に、以下のエラーが発生してDockerコマンドを実行できないことがある。
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
対処法1:サービスを開始する。
sudo service docker start
対処法2:dockerグループへ参加してWSL2を再起動する。
sudo usermod -aG docker $USER
wsl --shutdown