[toc]
docker命令
docker信息
docker版本
docker环境
容器管理
容器信息
1 2 3 4 5 6 7 8 9
| docker container ls
docker ps
docker container ls -a
docker ps -a
|
创建容器
1 2 3 4 5 6
| docker container run [imageName]
docker run [imageName]
docker container run -p 80:80 [imageName]
|
容器attached和detached两种模式
attached:前台执行,Linux系统中不加参数默认Run为此模式,Ctrl+C后容器会被停止
detached:后台执行,命令中加参数 -d
1 2 3 4
| docker container run -d [imageName]
docker container run -it [imageName]:[imageTag] sh
|
容器日志
容器在detached模式运行时结果只有一个容器Id,如果想查看运行时日志则需要logs命令
1 2 3 4
| docker container logs [container name or Id]
docker container logs -f [container name or Id]
|
容器交互
1 2 3
| docker container exec -it [container name or ID] sh docker container exec -it [container name or ID] /bin/bash
|
停止容器
1 2 3 4
| docker container stop [container name or Id]
docker stop [container name or Id]
|
重启容器
1 2 3 4
| docker container restart [container name or Id]
docker restart [container name or Id]
|
删除容器
1 2 3 4 5 6
| docker container rm [container name or Id]
docker rm [container name or Id]
docker container rm -f [container name or Id]
|
镜像管理
1 2 3 4
| docker image ls
docker image rm [imageName]
|
构建镜像
1 2
| docker image build -t [imageName]:[imageVersion] .
|
小技巧
容器的批量操作
docker contianer ps -aq
加了-q的查询结果只有容器id,使用方式举例如下:
1 2 3 4
| docker container stop $(docker container ps -aq)
sudo docker rm $(sudo docker ps -qf status=exited)
|
镜像的批量操作
1 2
| docker images|grep none|awk '{print $3 }'|xargs docker rmi
|
容器内容复制出来
1 2
| docker cp nginx:/etc/nginx/conf.d/default.conf /opt/docker/nginx/conf.d/default.conf
|
清理docker
1 2 3 4 5 6 7 8 9 10 11 12
| docker system prune
该指令默认会清除所有如下资源: 已停止的容器(container) 未被任何容器所使用的卷(volume) 未被任何容器所关联的网络(network) 所有悬空镜像(image) 该指令默认只会清除悬空镜像,未被使用的镜像不会被删除。 添加 -a 或 --all 参数后,可以一并清除所有未使用的镜像和悬空镜像。 可以添加 -f 或 --force 参数用以忽略相关告警确认信息
注意:docker system prune -a命令清理得更加彻底,可以将没有容器使用Docker镜像都删掉。注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了…所以使用之前一定要想清楚.。我没用过,因为会清理 没有开启的 Docker 镜像
|