Article Outline
TOC
Collection Outline
[Linux] COMMAND
[MiddleWear]
| PackageControlSystem
| VersionControlSystem
| Virtualisation and Container
| DBMS
[OS]
[Linux] 用途別
https://publicdomainq.net/container-ship-0020603/
|| Docker コマンド一覧
brew install docker
: インストールdocker --version
: バージョン確認docker login
: ログインdocker logout
: ログアウト
| FILE
docker build {directory}
: Dockerfile → Dockerimagedocker build .
: Dockerfileの格納されているディレクトリ上で実行(.はcdの意)docker build -t {name} {directory}
名前指定してビルド
| IMAGE
docker images
: イメージ一覧docker pull {image}
: イメージ取得(Dockerhub → Dockerimage)docker build {directory}
: イメージ化 (Dockerfile → Dockerimage)docker build .
Dockerfile格納上のディレクトリ上で実行(.=cdの意)docker build -t {name} {directory}
: 名前指定してビルド
docker run -it {image} bash
: コンテナ起動(イメージ実行) ※内部的に「pull」「start」をW実行している。docker run -it --rm {image} bash
: コンテナ起動後に削除docker run -it -v {host}:{container} {imege}
: ホストのファイルシステムをコンテナにマウント- e.g.)
docker run -it -v ~/host/mounted_folder:/new_dir {image} bash
- e.g.)
docker run -u {UserId}:{UserGroup}
: ユーザーID、名前を指定してコンテナ作成- e.g.)
docker run -it -u $(id -u):$(id -g) -v ~/host/mounted_folder:/new_dir {image} bash
- PC userid :
$ id -u
- PC groupid :
$ id -g
- e.g.)
docker run -p {host_port}:{container_port}
: ホストのポートをコンテナポートに繋げる- e.g.
docker run -it -p 8888:8888 --rm jupyter/datascience-notebook bash
- e.g.
docker --cpus {# of CPUs}
: コンテナがアクセスできるCPUI上限docker --memory {byte}
$ sysctl -n hw.physicalcpu_max
: 物理コア数$ sysctl -n hw.logicalcpu_max
: 論理コア数$ sysctl hw.memsize
: メモリ(byte)- e.g.)
docker run -it --rm --cpus 2 --memory 2g ubuntu bash
docker rmi {image}
: イメージ削除docker rmi $(docker images -q)
: 全イメージ削除
| CONTAINER
docker ps -a
: コンテナ一覧 (ps=process status)docker inspect {container}
: コンテナのあらゆる情報確認- e.g.)
docker inspect 5f90be76cd31 | grep -i cpu
: CPU数やメモリ量等確認時 ([|grep]=抽出 ,[-i]=ignore大文字小文字問わず {検索語句} )
- e.g.)
docker restart {container}
: コンテナ再起動docker exec -it {container} bash
: コンテナ実行
docker stop {container}
: コンテナ停止docker stop $(docker ps -q)
: 全コンテナ停止docker rm {container}
: コンテナ削除docker system prune
、docker rm $(docker ps -q -a)
: 全コンテナ削除
docker run --name {name}{imagename}
コンテナ名付けdocker run -d {imagename}
: detached mode コンテナ起動後にdetachする(バックグラウンドで動かす)docker run --rm {imagename}
: foreground mode コンテナをExit後に削除する(使い捨てコンテナ用)docker commit {imageid/name} {new_imagename(:tag)}
: コンテナ更新docker tag {new_imagename(:tag)} {target}
: コンテナ名変更docker push {imagename}
: コンテナをDockerhubへ
| 実践
Dockerfileを作成後に
$ docker run -p 8888:8888 -v ~/docker/ds_python/:/work --name my-lab 511a925b20aa
-p
: publishしてコンテナとホストのポートを設定-v
: ホストとコンテナ内部のディレクトリを共有~/docker/ds_python/:/work
:{ホスト内}:{コンテナ内}
--name
: dockerimage に名前を作成
|| REFERRENCE
- Docker Hubでパーソナルアクセストークンが利用可能になりました! - CL LAB
- コマンドでDockerコンテナを停止・削除、イメージの削除をする - Qiita
- 使用していない Docker オブジェクトの削除(prune) - Docker-docs-ja
- コンテナとは何か解説、従来の仮想化と何が違う?DockerやKubernetesとは? - ビジネス+IT
- Virtualisation and Container (仮想化とコンテナ) – Ansible, Docker and Kubernetes - Avinton