一些有用的docker使用命令

一些有用的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}}')

2、感谢

那些让你看起来很牛逼的Docker使用技巧

推荐阅读更多精彩内容