一些有用的docker使用命令
1、整理
健康状态查看
docker inspect --format '{{json .State.Health}}' agent08 | python -m json.tool
调整容器内部时区:
docker run -itd --name test-env -e TZ='Asia/Shanghai' images
查找管理docker容器:
docker ps --format='{{.Names}}'
docker ps -f name=test --format='{{.Names}}'
docker ps -f status=exited --format='{{.Names}}'
删除所有容器(镜像):
docker rm -f -v $(docker ps -a -q)
docker rmi $(docker images -q)
查看镜像id及仓库名:
docker images --format "{{.ID}}: {{.Repository}}"
列出镜像的相关字段:
docker ps --format "{{.ID}}: {{.Image}} : {{.Status}} : {{.Names}}"
重定义列:
docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Status}}\t{{.Names}}"
根据label查找镜像:
docker ps -f label=zone=test --format='{{.Names}}'
查看容器的devicemapper设备:
docker inspect -f '{{.GraphDriver.Data.DeviceName}}' nginx
查看容器的PID:
docker inspect -f '{{.State.Pid}}' nginx
查看容器name:
docker inspect -f '{{.Name}}' nginx
获取容器的ID:
docker inspect --format {{.Id}} nginx
别名:
alias dps='docker ps'
alias dexec='docker exec -ti'
alias drm='docker rm'
alias drmi='docker rmi'
docker动态调整容器内存和cpu限制
dexec test-env cat /sys/fs/cgroup/memory/memory.limit_in_bytes
9223372036854775807
sh-4.2# cat /sys/fs/cgroup/memory/memory.limit_in_bytes
9223372036854775807
默认没有给容器限制内存,它会共享宿主机的所有内存
动态调整内存为2014M:
docker update -m 2014M test-env
dexec test-env cat /sys/fs/cgroup/memory/memory.limit_in_bytes
2111832064
docker容器-宿主机双向拷贝:
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
容器内部文件拷贝到宿主机:
docker cp container:/home/qszhao2/test.txt ./
宿主机文件拷贝到容器:
docker cp Dockerfile containername:/home/70002111/
删除所有退出镜像:
drm -f $(dps -f status=exited --format='{{.Names}}')